Nginx四层代理配置负载均衡和动静分离

网友投稿 317 2022-11-04

Nginx四层代理配置负载均衡和动静分离

Nginx四层代理配置负载均衡和动静分离

一、Nginx负载均衡模式

1、rr负载均衡模式:每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails,默认1),在失效时间内(fail timeout,默认10秒),该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效继续探测,一般来说rr可以根据权重来进行均匀分配。

2、least_conn最少连接:优先将客户端请求调度到当前连接最少的服务器。

3、ip hash负载均衡模式:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,但是ip_hash会造成负载不均,有的服务请求接受多,有的服务请求接受少,所以不建议采用ip_hash模式,session 共享问题可用后端服务的 session 共享代替 nginx的ip_hash。

4、fair(第三方)负载均衡模式:按后端服务器的响应时间来分配请求,响应时间短的优先分配。

5、url hash(第三方)负教均衡模式:基于用户请求的uri做hash。和ip hash算法类似,是对每个请求按url的hash结果分配,使每个URL定向到同一个后端服务器,但但是也会造成分配不均的问题,这种模式后端服务器为缓存时比较好。

6、nginx反向代理分为2种基于7层的HTTP代理和MAIL代理,用于动静分离的场景,或者根据7层访问URL路径转发

基于4层的TCP或者UDP代理IP+端口,用于nginx作为前端负载均衡器时使用,仅用于转发访问请求给后端的web集群

基于7层的HTTP代理和MAIL代理,用于动静分离的场景,或者根据7层访问URL路径转发upstream 服务器组名 {server SERVER1IP:PORT;server SERVER2IP:PORT;......}

​ location .*.jsp$ {​ proxy_pass }}

fastcgi_pass PHPSERVERIP:9000-----------------------------基于4层的TCP或者UDP代理 IP+端口,用于nginx作为前端负载均衡器时使用,仅用于转发访问请求给后端的web集群。和{upstream 服务器组名 {server SERVER1IP:PORT;server SERVER2IP:PORT;......}

​ server {​ listen [IP:]PORT​ proxy_pass 服务器组名;​ }}

部署1.配置好两台Nginx七层代理服务器

2.在四层代理的Nginx服务器上做相关配置

./configure --with-streamvim /usr/local/nginx/conf/nginx.conf

和{

upstream appserver { server 192.168.19.11:80 weight=1; server 192.168.19.18:80 weight=1; } server { listen 8888; proxy_pass appserver; }

}

{......

systemctl restart nginx #重启服务

总结

location匹配用户访问的URL路径,根据正则表达式来判断用户访问请求的是静态页面还是动态页面 html,css,JavaScript,jpg,png…… 静态页面由nginx来处理 jsp,php…… 动态页面由后端应用服务来处理,动态配置在http块里配置。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:sun unsafe类功能及使用注意事项详解
下一篇:硬件接口协议技术:JTAG内部状态机——TAP控制器
相关文章

 发表评论

暂时没有评论,来抢沙发吧~