1. 参考资料:[实战Nginx_取代Apache的高性能Web服务器].张宴 

Nginx平滑升级

 

1、  下载所需版本的Nginx

   
   
   
   
  1. wget http://www.nginx.org/download/nginx-1.2.3.tar.gz 

2、  获取旧版本nginxconfigure选项

   
   
   
   
  1. /opt/nginx/sbin/nginx -V 

3、  编译新版本的nginx

 

   
   
   
   
  1. cd /opt/software/nginx 
  2. tar xvf nignx-1.2.3.tar.gz 
  3. cd nginx-1.2.3 
  4. ./configure –prefix=/opt/nginx –user=www –group=www \
  5. –with-http_stub_status_module --with-http_ssl_module 
  6. make 

4、  备份旧版本的nginx可执行文件,复制新版本的nginx这行文件

 

   
   
   
   
  1. mv /opt/nginx/sbin/nginx /opt/nginx/sbin/nginx.old 
  2. cp objects/nginx /opt/nginx/sbin/nginx 

5、  测试新版本nginx是否正常

   
   
   
   
  1. /opt/nginx/sbin/nginx –t –c /opt/nginx/conf/nginx.conf 

6、  平滑升级nginx

   
   
   
   
  1. kill –USR2 `cat /opt/nginx/log/nginx.pid` 

7、  旧版本Nginxpid变为oldbin,这是旧版本和新版本的nginx同时运行,过一段时间等就nginx处理完用户请求后,执行下面操作

8、  从容关闭旧版本的Nginx进程

   
   
   
   
  1. kill –WINCH `cat /opt/nginx/log/nginx.oldbin` 

9、  决定是否升级到新版的nginx

 

   
   
   
   
  1. kill –HUP `cat /opt/nginx/log/nginx.oldbin` ##nginx在不重载配置文件启动工作进程 
  2. kill –QUIT `cat /opt/nginx/log/nginx.oldbin` ##关闭旧版nginx 

10、验证nginx是否升级成功

   
   
   
   
  1. /opt/nginx/sbin/nginx –V ###显示下图则升级成功