码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx的启动、停止、平滑启动、平滑升级

时间:2015-08-05 12:57:43      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:nginx   运维   

Nginx的启动

启动nginx,可以执行一下命令(默认安装位置):
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
参数“-c”指定了配置文件的路径,如果不加,则Nginx会默认加载其安装目录的conf子目录中的ngin.conf

Nginx的停止

nginx的停止方法有很多种,一般是发送系统信号给nginx主进程来停止nginx。
我们通过ps命令来查找nginx的主进程号

ps -ef |grep nginx

我们可以看到备注信息为“master process”它表示主进程。为“worker”的是子进程。

如果在nginx.conf中指定了pid文件存放路径,则该文件存放的就是nginx的主进程号。如果没有指定,则默认存放在Nginx安装目录的log目录下。所以我们还可以这样做:

kill -信号类型 ‘/usr/local/nginx/logs/nginx.pid‘

nginx支持以下几种信号:
TERM,INT :快速关闭
QUIT:从容关闭
HUP:平滑启动
USR1:重新打开日志文件
USR2:平滑升级可执行程序
EINCH:从容关闭工作进程
(1)从容停止nginx

    kill -QUIT Nginx 主进程号

(2)快速停止Nginx

kill -TERM Nginx主进程号

(3)强制停止所有nginx进程

pkill -9 nginx

Nginx的平滑启动

kill -HUP nginx主进程号

nginx平滑升级

当需要将正在运行的nginx升级、添加/删除服务器模块时,可以在不中断的情况下使用新版本、重编译的nginx可执行程序替换旧版本的可执行程序。步骤如下:
(1)备份旧的可执行程序
(2)发送以下指令

kill -USR2 旧的版本nginx主进程号

(3)旧版本的nginx的主进程将重命名他的pid文件为.oldbin。然后执行新版本的nginx可执行程序。依次启动新的主进程和新的工作进程。
(4)此时新旧版本的nginx会同时运行,共同处理输入请求。要逐步停止旧版本的nginx实例,需要发送WINCH信号给旧的主进程,然后他的工作进程就从容关闭:

kill -WINCH 旧版本的主进程号

(5)一段时间后,旧的工作进程处理完所有的已连接请求后退出,仅有新的工作进程来处理输入请求。
(6)这时候我们可以决定是使用新的版本还是恢复到旧版本。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Nginx的启动、停止、平滑启动、平滑升级

标签:nginx   运维   

原文地址:http://blog.csdn.net/zhangli401x/article/details/47293881

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!