核心要素:发送信号让nginx重新加载配置文件
工作流:
- 发现后端realserver负载升高
- 建立其他后端realserver
- 将realserver添加到Nginx负载均衡器的目的地中,更新nginx.conf文件,并作配置文件语法检测nginx -t
- 向nginx主进程发送HUP UNIX信号,通知Nginx容器重新加载配置文件
docker kill -s HUP nginx
- Nginx会把流量同时发往后端realserver的新版本和老版本
如果新版本不能正常工作,我们可以删除Newser池中的主机,向Nginx重新发送HUP信号,从而安全地回滚
events {}
http {
upstream app_server {
server tomcat00:8000;
server tomcat01:8000;
server tomcat02:8000;
server Newser00:8000;
server Newser01:8000;
}
server {
location / {
proxy_pass http://app_server'
}
}
}
PS:
使用UNIX信号控制Nginx
https://continuousdelivery.com/