proxy_pass http://192.168.1.117:5000/;
}
#后端真实服务器测试修改
安装 gunicorn -- pip3 install gunicron
将 flask-test.py 里的最后一行 app.run()注释掉。
启动服务使用 gunicorn
gunicorn flask-test:app -b "0.0.0.0:5000" --access-logfile='./access_sc.log'
--access-logformat='%({x-forwarded-for}i)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s
"%(f)s" "%(a)s"' &
添加负载均衡:
在 xy.conf 文件中和 server 作用域同级下添加:
upstream flask_backend{
server 192.168.1.117:5000;
server 192.168.1.117:6000;
}
修改 proxy_pass:
proxy_pass http://flask_backend/;
######负载均衡-健康检查
nginx --自带检查(被动)
当有请求过来的时候,如果请求刚好被代理到 down 掉的后端真实机,会重
新转发一次,转发到可以正常提供服务的真实服务器。
这种检查被动,不能提前发现后端真实服务器的一个状态,而且可能会产生
多一次转发,影响效率。
nginx -- 主动健康检查 -- nginx_upstream_check_module
去/opt 目录下,下载模块
wget
https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master
安装 unzip patch 命令: yum install unzip patch -y
在/opt 目录下解压:unzip master
#去 nginx 下载路径下,打补丁
patch -p1 < /opt/nginx_upstream_check_module-master/check_1.20.1+.patch