当前位置: > Linux服务器 > nginx >

nginx平滑重启的方法

时间:2014-08-26 22:40来源:linux.it.net.cn 作者:it

nginx的重启分成几种类型,这里我们介绍两种,供大家参考。

1,简单型,先关闭进程,修改你的配置后,重启进程。
 

代码示例:

kill -QUIT `cat /usr/local/nginx/nginx.pid`
sudo /usr/local/nginx/nginx
2,重新加载配置文件,不重启进程,不会停止处理请求
1)、使用信号加载新的配置
Nginx 支持几个信号,能在它运行时控制其操作。
其中最普通的是 15 ,用来中止运行的进程:

代码示例:

# ps aux | egrep '(PID|nginx)'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2213  0.0  0.0   6784  2036 ?        Ss   03:01   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
# kill -15 2213
以上可以平滑改变 nginx 配置的选项。

一个好的习惯是,运行平滑重启下,做好配置文件的测试:
 

代码示例:

# nginx -t -c /etc/nginx/nginx.conf
2006/09/16 13:07:10 [info] 15686#0: the configuration file /etc/nginx/nginx.conf syntax is ok
2006/09/16 13:07:10 [info] 15686#0: the configuration file /etc/nginx/nginx.conf was tested successfully
# ps aux | egrep '(PID|nginx)'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2213  0.0  0.0   6784  2036 ?        Ss   03:01   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
# kill -HUP 2213
 
当 nginx 接收到 HUP 信号,它会尝试先解析配置文件(如果指定配置文件,就使用指定的,否则使用默认的),成功则应用新的配置文件(例如:重新打开日志文件或监听的套接 字)。

然后,nginx 运行新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字但是继续为当前连接的客户提供服务。
所有客户端的服务完成后,旧的工作进程被关闭。
如果新的配置文件应用失败,nginx 将继续使用旧的配置进行工作。

以上就是nginx平滑重启的二种方式,希望对大家有所帮助。


 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容