文章目录
- 1、介绍
- 2、nginx配置负载均衡
- 3、启动nginx
- 4、测试日志
- 5、备注
1、介绍
服务器:1台
服务:一个
端口:三个(一个对外接口(80),两个内部服务接口(3002, 3022))
nginx:一份
思路:配置负载,不管我们后端服务有没有启动,nginx是可以正常启动的。那么我可以认为nginx目前在监听的端口有两个3002和3022,那么如果我们3002服务挂了,那么这个时候nginx是将我们的请求转发到3022上面。那么我们在更新后台服务的时候,只需要启动另外一个端口成功后,在将开始的一个端口关闭掉就可以让用户无感更新,后台使用运行一个项目,更新内外一个端口,停掉开始的
2、nginx配置负载均衡
Nginx目前支持6种方式的负载均衡策略:
轮询(默认方式)
weight(权重方式)
ip_hash(依据ip分配方式)
least_conn(最少连接方式)
fair(第三方提供的响应时间方式)
url_hash(第三方通过的依据URL分配方式)
server {
listen 80;
server_name 111.11.111.21;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://real_server;
}
}
// 权重
upstream real_server {
server 127.0.0.1:3002 weight=1; #轮询服务器和访问权重
server 127.0.0.1:3022 weight=2;
}
// 最少连接方式,把请求发给链接数最少的后端服务器
//upstream real_server {
// least_conn;
// server [IP地址]:[端口号] weight=2;
// server [IP地址]:[端口号];
//}
3、启动nginx
参考下一遍文章:docker部署nginx
4、测试日志
启动3002端口:
启动3022端口:
启动3002、3022端口: