1.修改dns解析,将升级的lb拿出 2.下载nginx并编译 wget http://nginx.org/download/nginx-1.2.8.tar.gz 用原来的参数编译1.2.8 ./configure --user=www \ --group=www \ --prefix=/home/nginx \ --with-http_stub_status_module \ --with-http_realip_module make 不进行make install 备份原有nginx mv /home/nginx/sbin/nginx /home/nginx/sbin/nginx.bak cp当前目录下的obsj/nginx 到原有nginx目录的sbin 检查是否升级为1.2.8 /home/nginx/sbin/nginx -V nginx version: nginx/1.2.8
3.修改配置文件,添加keepalive 在upstream 段中添加 keepalive 32 在server段添加 proxy_http_version 1.1; proxy_set_header Connection ""; 保存文件, 通过nginx -t -c参数检查配置文件 /home/nginx/bin/nginx -t -c /home/nginx/conf/nginx.conf
4.进行升级操作 #给原来的nginx主进程发送平滑升级信号 查看/home/nginx/logs/ 生成了一个nginx.pid.oldbin文件,证明nginx已经启用了新的主进程 #给原nginx主进程发送从容关闭信号 过一段时间查看nginx进程情况,可以发现2个nginx主进程在运行,旧的工作进程处理了所有已连接的请求后退出,就仅由新的工作进程来处理输入的请求了 ps -ef | grep nginx
用 QUIT 信号关闭旧的 nginx 主进程 ps -ef | grep nginx 在执行quit之前如果发现问题,可以恢复旧的服务器: 发送 HUP 信号给旧的主进程 - 它将在不重载配置文件的情况下启动它的工作进程 发送 QUIT 信号给新的主进程,要求其从容关闭其工作进程 发送 TERM 信号给新的主进程,迫使其退出 如果因为某些原因新的工作进程不能退出,向其发送 KILL 信号
|