nginx的启动、停止、平滑重启

本文介绍了Nginx的启动、停止和平滑重启的方法,并详细解释了如何通过发送不同类型的信号来控制Nginx的行为,包括如何检查配置文件的正确性。
一、Nginx 的启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    参数 "-c" 指定了配置文件的路径,如果不加 "-c" 参数,Nginx 会默认加载其安装目录的 conf 子目录中的 nginx.conf 文件,在本例中即:/usr/local/nginx/conf/nginx.conf。

 

二、Nginx 的停止

 

可以通过 ps 命令来查找 Nginx 的主进程号:

ps -ef|grep nginx

从图中可以看到,1 个 Nginx 进程的备注信息为 “master process”,表示它为主进程,另外的 2 个进程的备注信息为 “worker process”,表示它们为子进程。3781为主进程号。

如果在 nginx.conf 配置文件中指定了 pid 文件存放的路径 (例如:/usr/local/webserver/nginx/nginx.pid;),该文件中存放的就是 Nginx 当前的进程号。如果没有指定 pid 文件存放的路径,nginx.pid 文件默认存放在 Nginx 安装目录的 logs 目录下。所以,我们可以直接通过以下命令来完成命令来完成停止,省下寻找 Nginx 主进程号的步骤:

kill -信号类型 `cat /usr/local/webserver/nginx/nginx.pid`

(1) 从容停止 Nginx

kill -QUIT Nginx主进程号

kill -QUIT `cat /usr/local/webserver/nginx/nginx.pid`

 

(2) 快速停止 Nginx

kill -TERM Nginx主进程号
kill -TERM `cat /usr/local/webserver/nginx/nginx.pid`

kill -INT Nginx主进程号
kill -INT `cat /usr/local/webserver/nginx/nginx.pid`

 

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

pkill -9 nginx

 

三、Nginx 的平滑重启

    如果改变了 Nginx 的配置文件 (nginx.conf),想要重启 Nginx ,同样可以通过发送系统信号给 Nginx 主进程的方式来进行。不过,重启之前,要确认 Nginx 配置文件 (nginx.conf) 的语法是正确的,否则 Nginx 将不会加载新的配置文件。通过以下命令可以判断 Nginx 配置文件是否正确:

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

    如果配置文件不正确,屏幕将会提示配置文件的第几行出错;

    如果配置文件正确,屏幕将提示以下两行信息:

    

     这时候,就可以平滑重启 Nginx 了。

 

kill -HUP Nginx主进程号

    或

kill -HUP `cat /usr/local/webserver/nginx/nginx.pid`

 

    当 Nginx 接收到 HUP 信号时,它会尝试先解析配置文件 (如果指定配置文件,就使用指定的,否则使用默认的),如果成功,就应用新的配置文件 ( 例如,重新打开日志文件或监听的套接字 )。之后, Nginx 运行新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务。所有客户端的服务完成后,旧的工作进程被关闭。如果新的配置文件应用失败,Nginx 将继续使用旧的配置进行工作。

 

四、Nginx 的信号控制

        在上一节中,我们使用了信号来控制 Nginx 停止、平滑重启,Nginx 支持以下几种信号:

  • TERM,INT 快速关闭;
  • QUIT 从容关闭;
  • HUP 平滑重启,重新加载配置文件;
  • USR1 重新打开日志文件,在切割日志时用途较大;
  • USR2 平滑升级可执行程序;
  • WINCH 从容关闭工作进程。

 

转载于:https://my.oschina.net/u/923772/blog/707000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值