曾无好事来相访,赖尔高文一起予。这篇文章主要讲述Nginx四层代理配置负载均衡和动静分离相关的知识,希望能为你提供帮助。
@[toc]
1.nginx四层代理配置首先准备好两台配置好Nginx7层反向代理配置的服务器(以Nginx作为负载均衡器,Tomcat作为应用服务器),但做四层代理时编译需要添加 --with-
1.stream模块
环境配置
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
Nginx服务器1(四层协议) | CentOS 7.3 x86_64 | 192.168.19.10 | nginx-1.12.0.tar.gz |
Nginx服务器2(七层协议) | CentOS 7.3 x86_64 | 192.168.19.11 | nginx-1.12.0.tar.gz |
Nginx服务器3(七层协议) | CentOS 7.3 x86_64 | 192.168.19.18 | nginx-1.12.0.tar.gz |
Tomcat服务器1 | CentOS 7.3 x86_64 | 192.168.19.17 | apache-tomcat-7.0.54.tar.gz |
Tomcat服务器2 | CentOS 7.3 x86_64 | 192.168.19.19 | apache-tomcat-7.0.54.tar.gz |
文章图片
2.Nginx四层代理配置步骤 1.配置好两台Nginx七层代理服务器
nginx
文章图片
2.在四层代理的Nginx服务器上做相关配置
./configure --with-stream
vim /usr/local/nginx/conf/nginx.conf和http同等级:所以一般只在http上面一段设置,
stream upstream appserver
server 192.168.19.11:80 weight=1;
server 192.168.19.18:80 weight=1;
server
listen 8888;
proxy_pass appserver;
http
......systemctl restart nginx #重启服务
文章图片
文章图片
3.测试结果
测试静态页面效果
浏览器访问 http://192.168.19.10:8888
浏览器访问 http://192.168.19.10:8888/error.jpg
文章图片
文章图片
文章图片
Nginx四层代理访问动态页面
浏览器访问:http://192.168.19.10:8888/test/index.jsp
文章图片
文章图片
文章图片
==总结
Nginx的动静分离==
location匹配用户访问的URL路径,根据正则表达式来判断用户访问请求的是静态页面还是动态页面
html,css,javascript,jpg,png…… 静态页面由nginx来处理
jsp,php…… 动态页面由后端应用服务来处理,动态配置在http块里配置。
==nginx反向代理分为2种==
基于7层的HTTP代理和MAIL代理,用于动静分离的场景,或者根据7层访问URL路径转发
upstream 服务器组名
server SERVER1IP:PORT;
server SERVER2IP:PORT;
......location .*\\.jsp$
proxy_pass http://服务器组名;
fastcgi_pass PHPSERVERIP:9000
-----------------------------
基于4层的TCP或者UDP代理 IP+端口,用于nginx作为前端负载均衡器时使用,仅用于转发访问请求给后端的web集群。
和http块同级别,一般配置在http块上面配置stream模块,安装时必须先开启stream模块--with-stream
stream
upstream 服务器组名
server SERVER1IP:PORT;
server SERVER2IP:PORT;
......server
listen [IP:]PORT
proxy_pass 服务器组名;
推荐阅读
- logstach对nginx/tcpudp日志收集
- #yyds干货盘点#Linux下增加php对curl扩展的支持
- 面试官: Flink双流JOIN了解吗? 简单说说其实现原理
- 小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
- Tomcat 部署及优化
- 附解决方案,小程序用户昵称突然变成了“微信用户”,而且头像也显示不了()
- datstage处理文本文件中存在多余换行符的数据
- 测试人如何高效地设计自动化测试框架()
- 10.FastAPI响应体