nginx版本升级

nginx升级

首先说下nginx主进程可以使用的信号:
TERM, INT  快速关闭 
QUIT  从容关闭 
HUP  重载配置
用新的配置开始新的工作进程
从容关闭旧的工作进程 
USR1  重新打开日志文件 
USR2  平滑升级可执行程序。 
WINCH  从容关闭工作进程
 
假如我的nginx安装在了/usr/local/nginx下
# cd /usr/local/nginx/
# sbin/nginx -V #查看版本和编译参数
[root@vps nginx]# sbin/nginx -V
nginx version: nginx/0.7.65
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
TLS SNI support disabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module  //注意这里的编译项
#查看pid位置,后面用到
#grep pid conf/nginx.conf
#tar zxvf nginx-1.0.8.tar.gz
#cd nginx-1.0.8
#./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module  //按原来的选项configure
#make    //注意只make  不要make install
#备份旧的可执行文件
#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
#拷贝新编译的可执行文件到nginx对应目录
#cd objs/
#cp nginx /usr/local/nginx/sbin/
#使用新的nginx的可执行文件 对配置文件进行测试语法
#/usr/local/nginx/sbin/nginx -t
#启用新的nginx,平滑升级可执行程序。主进程将重命名它的 .pid 文件为 .oldbin 在这时,两个 nginx 实例会同时运行,一起处理输入的请求
#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
#要逐步停止旧的实例,你必须发送 WINCH 信号给旧的主进程,然后,它的工作进程就将开始从容关闭
#ps -ef|grep nginx
#kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`
#ps -ef|grep nginx
#可以看到 worker process is shutting down (nginx)
#一段时间后,旧的工作进程处理了所有已连接的请求后退出,就仅由新的工作进程来处理输入的请求了
#这个时候旧的nginx没有了worker process
#发送QUIT信号给旧的nginx的主进程,要求其从容关闭其工作进程
#kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
#ok 升级完了 查看下吧
#/usr/local/nginx/sbin/nginx -v
 

本文txt文档见附件

你可能感兴趣的:(nginx,职场,休闲,nginx升级)