Nginx总结(六)nginx实现负载均衡
前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html
今天要说的是如何配置nginx和tomcat实现反向代理。
需要说明的是:由于本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已经说讲过,然后后续就没有在介绍,如果出现有些配置没有讲,大家可能需要去看看前面的文章。
什么是负载均衡
负载均衡是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
Nginx实现负载均衡
i. 需求
nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至 tomcat服务器。
nginx负载均衡服务器:192.168.78.132
tomcat1服务器:192.168.78.134
tomcat2服务器:192.168.78.135
ii. 环境准备
1. 两台 tomcat 服务器,我这里使用的是使用apache-tomcat-7.0.57版本,在192.168.78.134和192.168.78.135虚拟机上启动tomcat。
2. Nginx 服务器,这个之前安装过,ip地址是:192.168.78.132
3. 修改两个tomcat下的webapps/ROOT/index.jsp的内容,使用tomcat1和tomcat2两个服务首页显示不同的内容。
4. 通过host文件指定aaa.test.com的域名解析,对应192.168.78.132虚拟机:修改window的hosts文件:(C:\Windows\System32\drivers\etc)
192.168.78.132 aaa.test.com
iii. 配置Nginx
根据上边的需求在nginx.conf文件中的http节点添加如下配置:
upstream tomcat_server_pool{ server 192.168.101.5:8080 weight=10; server 192.168.101.6:8080 weight=10; } server { listen 80; server_name aaa.test.com; location / { proxy_pass http://tomcat_server_pool; index index.jsp index.html index.htm; } }
相关参数说明:
down:表示单前的server暂时不参与负载
weight :默认为1.weight越大,负载的权重就越大。
max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
iv. 测试
请求aaa.test.com,我们会发现,nginx会将请求转发到各个tomcat服务器上。
最后
以上就将Nginx负载均衡介绍完了。后面将会介绍Nginx的高可用。
作者:章为忠
如有问题,可以微信:18618243664 联系我,非常感谢。
关注我的微信公众号,获取相关的 源代码及视频资料。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?