nginxpinghuashengji/ target=_blank class=infotextkey>nginx平滑升级,操作步骤:
1、下载新版本Nginx
复制代码 代码示例:
2、获取旧版本nginx的configure选项
复制代码 代码示例:
/opt/nginx/sbin/nginx -V
3、编译新版本的nginx
复制代码 代码示例:
cd /opt/software/nginx
tar xvf nignx-1.2.3.tar.gz
cd nginx-1.2.3
./configure –prefix=/opt/nginx –user=www –group=www
–with-http_stub_status_module --with-http_ssl_module
make
4、备份旧版本的nginx可执行文件,复制新版本的nginx这行文件
复制代码 代码示例:
mv /opt/nginx/sbin/nginx /opt/nginx/sbin/nginx.old
cp objects/nginx /opt/nginx/sbin/nginx
5、测试新版本nginx是否正常
复制代码 代码示例:
/opt/nginx/sbin/nginx –t –c /opt/nginx/conf/nginx.conf
6、平滑升级nginx
复制代码 代码示例:
kill –USR2 `cat /opt/nginx/log/nginx.pid`
7、旧版本Nginx的pid变为oldbin,这是旧版本和新版本的nginx同时运行,过一段时间等就nginx处理完用户请求后,执行下面操作
8、从容关闭旧版本的Nginx进程
复制代码 代码示例:
kill –WINCH `cat /opt/nginx/log/nginx.oldbin`
9、决定是否升级到新版的nginx
复制代码 代码示例:
kill –HUP `cat /opt/nginx/log/nginx.oldbin` #nginx在不重载配置文件启动工作进程
kill –QUIT `cat /opt/nginx/log/nginx.oldbin` #关闭旧版nginx
10、验证nginx是否升级成功
/opt/nginx/sbin/nginx –V #显示下图则升级成功
nginx升级成功图示:
至此,整个nginx升级过程圆满完成,且是平滑升级,业务不中断。