nginx配置负载均衡

1、搭建1台nginx服务,参见https://www.cnblogs.com/Forever77/p/11517711.html

2、搭建2台tomcat服务,端口分别为8081和8082,参见https://www.cnblogs.com/Forever77/p/16030476.html

3、修改本地C:\Windows\System32\drivers\etc\hosts文件,在最后增加一行192.168.85.10 www.123.com

4、在2台tomcat安装目录的webapps目录下分别创建edu/a.html,内容分别显示端口号,例如8081的webapps/edu/a.html内容如下,8082的则显示8082

<h1>8081</h1>
<p>8081</p>

5.修改nginx配置文件nginx.conf,在http块的最后增加如下内容

复制代码
upstream myserver {
        server 192.168.85.10:8081;
        server 192.168.85.10:8082;
}

server {
        listen 9002;
        server_name 192.168.85.10;
        
        location / {
                proxy_pass http://myserver;
}
复制代码

6、验证,在浏览器界面输入http://www.123.com:9002/edu/a.html,可看到有时候出现8081有时候出现8082。

     

 

 

nginx负载均衡的几种方式

①轮询,默认方式,每个请求按照时间顺序逐一分配到不同后端服务,如果后端服务down掉可自动踢除。

例如上述例子中,界面显示8081和8082的频率差不多,如果把8082的tomcat服务停掉,则界面只会显示8081。

②weight,按照权重比例进行分配,权重越大被分配的越多。

例如上述例子的upstream中修改为如下,则8082出现的次数与8081出现的次数比大概是2:1。

upstream myserver {
        server 192.168.85.10:8081 weight=1;
        server 192.168.85.10:8082 weight=2;
}

③ip hash,按照请求的ip地址的hash结果进行分配,这样每个ip地址会固定访问一个后端服务。

upstream myserver {
        ip_hash
        server 192.168.85.10:8081;
        server 192.168.85.10:8082;
}

④fair,按后端服务的响应时间来分配,响应时间短的优先分配。

upstream myserver {
        server 192.168.85.10:8081;
        server 192.168.85.10:8082;
        fair
}

 

posted @   Forever77  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示