编辑/etc/nginx/nginx.cfg
首先,在https块中添加upstream块,like this
upstream aimaster_server {
#iphash
server 10.110.151.90:10082 weight=10;
server 10.110.151.91:10082 weight=10;
}
然后,在server里添加规则,like this:
server {
#listen 10.110.158.162:8000;
listen 80;
server_name husky;
location /api {
proxy_pass http://aimaster_server/;
root html;
index index.html;
}
}
更新nginx的配置文件
nginx -s reload
负载均衡的几种策略:
1 轮询(默认)
按时间顺序逐一分配到不同的服务器,如果某个down掉,能自动剔除
2 weight策略
weight默认为1,值越大被分配的任务越多
3 iphash
每个请求按访问ip的hash结果进行分配,这样每个访客固定访问一个后端服务器,可以解决session问题。
upstream master_server {
iphash
server 10.110.151.90:10082;
server 10.110.151.91:10082;
}
4 fair策略
根据后端服务器的响应时间来分配,响应时间短的优先分配
upstream master_server {
server 10.110.151.90:10082;
server 10.110.151.91:10082;
fair
}