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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!