nginx实现负载均衡
1、实现效果
在浏览器地址栏中输入地址 :192.168.2.180/edu/a.html,使请求平均到8080 和 8081端口中
2、准备工作
1)准备2台tomcat服务器:8080 8081
2)在2台tomcat的webapps目录中,创建名称是edu的文件加,在edu文件夹中创建页面 a.html,用于测试。 启动两台 tomcat,准备成功,示例如下(乱码不管了,没什么影响)
3)对nginx.conf 进行配置
#负载均衡
upstream myserver{
server 192.168.2.180:8080;
server 192.168.2.180:8081;
}
#监听 192.168.2.180:80,并对请求进行分流
server {
listen 80;
server_name 192.168.2.180;
location / {
proxy_pass http://myserver;
}
}
4) 效果如下
刷新后
nginx 负载均衡的策略:
1、轮询(默认)
每个请求按时间逐一分配到不同的后端服务器,如果后端服务器down了,则能自动剔除
2、weight
weight代表权重,默认为1,权重越高,被分配的客户端就越多
#负载均衡
upstream myserver{
server 192.168.2.180:8080 weight=1;
server 192.168.2.180:8081 weight=2;
}
3、ip_hash
每个请求按照ip的hash结果分配,那么只要用户的ip不变,访问的服务器就不变,可以解决
session的问题
upstream myserver{
ip_hash;
server 192.168.2.180:8080 weight=1;
server 192.168.2.180:8081 weight=2;
}
4、fair
根据后端服务器的响应时间来分配,响应时间短的优先分配
upstream myserver{
server 192.168.2.180:8080 weight=1;
server 192.168.2.180:8081 weight=2;
fair;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?