在公司遇到nginx需要更新版本我们应该怎么做呢?有些小伙伴第一个想法是删除旧的版本,然后将新版本编译安装,这样的方式确实可以更新,但是在真实的企业环境中,每一秒的的访问都是非常重要的,那么有没有一种办法可以既不停止nginx服务,又可以更新版本的呢?答案是肯定的,那么接下来向大家介绍Nginx的平滑升级,在不影响正常运行的情况下更新版本。
第一步:要用原生的nginx启动方式启动nginx,然后查看进程编号
# sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# cd 你新版本的文件夹中编译
# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
# make && make install
这个安装路径一定要和上一个版本的安装路径相同
# ps -ef | grep nginx
第二步:在开启一个进程,使用上边查询到的进程,先结束子进程在结束父进程
# kill -USR2 查到的PID编号
# kill -WINCH 查到的PID编号
# kill -QUIT 查到的PID编号