nginx启动、关闭、重启

nginx启动、关闭、重启

nginx由一个master进程和若干worker进程组成,master进程主要用于读取配置文件管理worker进程.worker进程负责处理请求。nginx基于事件模型并且能够根据操作系统的特性高效的利用worker进程处理请求。worker进程的数量在配置文件中定义,也可以通过指定的配置文件来定义其数量,或者自动根据CPU核心数确定其数量。


nginx以及相关模块的工作方式通过配置文件来指定。默认情况下,配置文件命名为nginx.conf,位于/usr/local/nginx/conf 或 /etc/nginx 或 /usr/local/etc/nginx 路径下。


nginx的启动非常简单,直接执行usr/local/nginx/sbin/目录下的可执行文件即可 ./nginx


一旦启动了nginx,就可以通过nginx -s [signal]命令的方式来控制nginx.其中[signal]可以为如下的命令:

  • stop — 快速停止
  • quit — 平滑关闭
  • reload — 重新加载配置文件
  • reopen — 重新打开日志文件
例如,等待worker进程处理完当前请求后再关闭nginx,可以使用

nginx -s quit

当配置文件被更改,只有当nginx被重启或者接收到重载配置文件的命令时新的配置才会生效,为了更改配置文件后生效,可以使用

nginx -s reload

一旦master进程接收到重载配置文件的信号,它首先会检查新的配置文件是否有语法错误,如果没有错误,master进程将会采用新的配置,并启动新的worker进程,同时通知旧的worker进程让他们停止工作。否则,若配置文件存在错误,那么master进程仍然使用旧的配置,并且旧的worker进程将继续保持工作。一旦master进程通知worker进程停止工作,worker进程首先会停止接收链接,然后处理完当前的所有请求,之后再exit,结束执行。


也可以通过linux下的kill工具直接给nginx的master进程发送信号,默认nginx进程ID写在/usr/local/nginx/logs目或/var/run下的nginx.pid文件中,例如master进程ID为1296,那么向nginx发送QUIT信号希望它平滑关闭,可以执行

kill -s QUIT 1628

也可通过ps命令,查找master进程的进程ID

ps -ax | grep nginx

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部