当前位置:首页 > 教程 > 正文内容

nginx加载phpfpm(nginx加载静态资源)

2023-06-02 22:20:05教程1

nginx加载静态资源

通过severlet上传图片是可以的,甚至用手工方式上传也可以因为调用读取这些图片的话,不用调用severlet,直接调用nginx即可nginx本身就可以实现静态资源的web服务

nginx加载静态页面

当然可以。

Nginx是一款高性能的HTTP和反向代理服务器,具有内存占用小、高并发的特性。国内互联网大企业大多使用的就是Nginx,淘宝还基于Nginx开发了Tengine。

Nginx的用途:

1、反向代理

在LNMP这种架构模式下,其实就用到了反向代理。因为Nginx它默认只支持静态资源的请求,比如说PHP脚本也不是由Nginx直接解析的,而是由Nginx反向代理(通过 proxy_pass 指令)到PHP-FPM去解析的。

所以我们通常在Apache、Tomcat、IIS之前加上Nginx,由Nginx反向代理到后端服务器上。

2、负载均衡

当我们的站点访问量大时,为了缓解单一应用服务器的压力我们通常会扩容多台服务器,此时如何把流量分发给不同服务器呢?通过Nginx就可以实现负载均衡了,Nginx负载均衡策略也很多,主要有:RR(轮询)、weight(权重)、ip_hash(IP Hash)、fair(后端服务器响应时间)、url_hash(URL Hash)这几种。

3、动静分离

Nginx本身只支持静态资源的处理,借助Nginx我们可以实现动静分离,即:将静态请求交给Nginx处理,将动态请求通过转发给后端服务器。

4、Nginx扩展

通过Nginx扩展可以实现很多功能,如:

图片在线裁剪;

请求合并;

资源压缩等。

nginx配置静态资源

Nginx在不依赖第三方模块的前期下,主要的功能有:

①、正向代理

正向代理,是在用户端的。比如需要访问某些国外网站,我们可能需要购买vpn。并且vpn是在我们的用户浏览器端设置的(并不是在远端的服务器设置),浏览器先访问vpn地址,vpn地址转发请求,并最后将请求结果原路返回来。

②、反向代理

客户端向服务器发送请求时,会首先经过 Nginx 服务器,由服务器将请求分发到相应的 WEB 服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。

③、负载均衡

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.

④、动静分离

在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指HTML,JavaScript,CSS,img等文件。一般来说,都需要将动态资源和静态资源分开,将静态资源部署在Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间。

nginx配置静态资源访问

Nginx正向配置详解Nginx正向配置可以用来实现反向代理、负载均衡、静态资源缓存等功能Nginx可以作为反向代理服务器,将客户端请求转发至后端服务器,实现负载均衡和高可用性。同时,Nginx还具备对静态资源的缓存和优化的功能,可以提升应用的性能。Nginx正向配置的优点还包括配置简单、易于扩展和修改等在反向代理的实现中,需要配置服务器的代理、负载均衡等相关参数,同时还需要对缓存、安全性等进行细致的配置。在实际应用中,需要根据具体业务需求进行相应的配置。此外,Nginx正向配置还可以与其他应用程序、数据存储系统进行整合,实现更强大的功能。

nginx加载静态资源优化

nginx如果设置了静态文件缓存时间,那么在这个时间段内,nginx不会重新去被代理的服务器获取新的文件,从而减少对服务器的压力。

nginx静态资源存放在哪个文件夹中

可以,nginx本身是一种负载均衡工具。

nginx 静态资源访问控制

第一种:Nginx自己的错误页面

Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢?

看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。

server {

listen 80;

server_name www.test.com;

root /var/www/test;

index index.html index.htm;

location / {

}

# 定义错误页面码,如果出现相应的错误页面码,转发到那里。

error_page 404 403 500 502 503 504 /404.html;

# 承接上面的location。

location = /404.html {

# 放错误页面的目录路径。

root /usr/share/nginx/html;

}

}

第二种:反向代理的错误页面

如果后台Tomcat处理报错抛出404,想把这个状态叫Nginx反馈给客户端或者重定向到某个连接,配置如下:

upstream www {

server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s;

ip_hash;

}

server {

listen 80;

server_name www.test.com;

root /var/www/test;

index index.html index.htm;

location / {

if ($request_uri ~* ‘^/$’) {

rewrite .* http://www.test.com/index.html redirect;

}

# 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面

proxy_intercept_errors on;

proxy_pass http://www;

proxy_set_header HOST $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;

}

error_page 404 /404.html;

location = /404.html {

root /usr/share/nginx/html;

}

}

第三种:Nginx解析php代码的错误页面

如果后端是php解析的,需要加一个变量

在http段中加一个变量

fastcgi_intercept_errors on就可以了。

指定一个错误页面:

error_page 404 /404.html;

location = /404.html {

root /usr/share/nginx/html;

}

指定一个url地址:

error_page 404 /404.html;

error_page 404 = http://www.test.com/error.html;

nginx加载静态资源有些端口太慢怎么办

前后端分离项目可以通过分别启动前端和后端来启动原因是在前后端分离的架构中,前端和后端是独立的两个部分,需要分别启动在启动前端时,需要在终端中使用指令进入前端项目的根目录,然后运行指令来启动前端服务在启动后端时,需要运行后端项目主文件(如Spring Boot的主类),并确保启动后端服务的端口和前端所需的接口一致此外,在前端项目中还需要配置代理服务器,将所有发往后台接口的请求转发到正确的端口关于前后端分离的项目启动方法还有很多具体细节,比如路由的配置、跨域的问题等等,需要具体问题具体分析

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98876009.html

返回列表

上一篇:mac怎么卸载电脑管家(mac的电脑管家)

没有最新的文章了...