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,准备成功,示例如下(乱码不管了,没什么影响)

clipboard

clipboard

 

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) 效果如下

clipboard

刷新后

clipboard

 

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; 
    }

 

posted @   青岑  阅读(320)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
主题色彩