linux学习:Nginx--反向代理和动静分离-04
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习:Nginx--反向代理和动静分离-04相关的知识,希望对你有一定的参考价值。
一、http的反向代理
1、nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静态分离,以及负载均衡,从而大大提高服务器的处理能力。
2、Http Proxy模块,功能很多,最常用的是proxy_pass
3、如果要使用proxy_cache的话,需要集成第三方的ngx_cache_purge模块,用来清除指定的URL缓存,这个集成需要在安装nginx的时候去做,
如:
./confiure --add-modele=../ngx_cache_purge-1.0 ....
操作:
#允许客户端请求的最大的单个文件字节数
client_max_body_size 300m;
#缓冲区代理缓冲用户端请求的最大字节数,可以理解为先保存到本地再传给用户
client_body_buffer_size 128k;
#跟后端服务器连接的超时时间,发起握手等候相应超时时间
proxy_connect_timeout 600;
#连接成功后,等候后端服务器响应时间,其实已经进入后端的排队之中等候处理
proxy_read_timeout 600;
#后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据
proxy_send_timeout 600;
#代理请求缓存区,这个缓存区间会保存用户的头信息以供nginx进行规制处理,一般只要能保存下头信息即可
proxy_buffer_size 16k;
配置nginx.conf:
upstream xiaoliu.com { server 127.0.0.1:8080 weight=5; } server { listen 8888; server_name testserver1; #access_log logs/host.access.log main; index index.html index.jsp; root /opt/tomcat/webapps/ROOT/; location / { proxy_pass http://xiaoliu.com; } }
二、动静态分离
Nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,那么就直接从Nginx发布的路径去读取,而不需要从后台服务器获取了。
但是要注意:这种情况下需要保证后端跟前端的程序保持一致,可以使用Rsync做服务端自动同步或者使用NFS、MFS分布式共享存储。
如果这个tomcat下工程只有一个,且是ROOT的话,
配置nginx.conf:
upstream xiaoliu.com { server 127.0.0.1:8080 weight=5; } server { listen 8888; server_name testserver1; #access_log logs/host.access.log main; index index.html index.jsp; root /opt/tomcat/webapps/ROOT/; location ~* .*\.(jpg|jpeg|gif|png|swf|ico)$ { if (-f $request_filename) { #expires 15d; break; } } location ~* .*\.(html|htm|js|css)$ { #expires id; } location / { proxy_pass http://xiaoliu.com; } }
如果有多个,访问会有问题:
访问:http://192.168.91.6:8888/customermger/static/css/application.css
访问:http://192.168.91.6:8080/customermger/static/css/application.css
修改配置nginx.conf:
upstream xiaoliu.com { server 127.0.0.1:8080 weight=5; } server { listen 8888; server_name testserver1; #access_log logs/host.access.log main; index index.html index.jsp; root /opt/tomcat/webapps/ROOT; location ~* ^/customermger/.*\.(jpg|jpeg|gif|png|swf|ico)$ { root /opt/tomcat/webapps; } location ~* ^/customermger/.*\.(html|htm|js|css)$ { root /opt/tomcat/webapps; } location ~* .*\.(jpg|jpeg|gif|png|swf|ico)$ { if (-f $request_filename) { #expires 15d; break; } } location ~* .*\.(html|htm|js|css)$ { #expires id; } location / { proxy_pass http://xiaoliu.com; } }
本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1912668
以上是关于linux学习:Nginx--反向代理和动静分离-04的主要内容,如果未能解决你的问题,请参考以下文章
从0开始,在Linux中配置Nginx反向代理负载均衡session共享动静分离