当前位置:首页 » nginx技术知识

Nginx平滑升级

2014-08-30 10:40 本站整理 浏览(17)
1、 下载所需版本的Nginx
wgethttp://www.nginx.org/download/nginx-1.2.3.tar.gz[/code] 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:执行wgethttp://soft.vpser.net/web/nginx/nginx-1.2.7.tar.gz 版本可以自己修改,也可以直接用nginx官网上的地址再
执行 ./configure --user=www --group=www --prefix=/usr/local/nginx
--with-http_stub_status_module --with-http_ssl_module
--with-http_gzip_static_module --with-ipv6 编译参数如需添加可以自己添加 。然后make,但不要make install编译完,在objs目录下有一个nginx执行文件,就是它了。备份下原来老的nginx文件mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old在把新objs下的nginx cp到sbin下,执行:cp objs/nginx /usr/local/nginx/sbin/nginx 。执行 /usr/local/nginx/sbin/nginx -t 测试下,显示没有问题。再执行:make upgrade执行:/usr/local/nginx/sbin/nginx -V 将会出现nginx的版本及编译的参数。升级完成!