nginx官网文档地址  http://nginx.org/en/docs/  可以借助有道等在线翻译学习



启动nginx,运行sbin目录下nginx文件即可。启动nginx后可以通过-s参数调用可执行与控制。使用下面的语法:


nginx - s信号

  • stop——快速关闭(我理解为强杀)
  • quit——优雅的关闭(nginx为一个主进程N个工作进程,优雅的关闭是指关闭没有工作中的工作进程,等待其他工作进程工作完毕后再将其关闭,最后关闭主进程。原因是防止客户端正在下载文件中,服务器关闭对客户端造成不必要的麻烦等类似问还是支付)
  • reload——重新加载配置文件
  • reopen——重启日志文件

例如,停止与等待nginx流程目前工作进程完成服务请求,可以执行下面的命令:

nginx -s quit

在配置文件中更改不会被应用到命令重新加载配置发送到nginx或是重新启动。重新加载配置,执行:

nginx -s reload

一旦主进程接收到信号重新加载配置,它检查语法新配置文件的有效性,并试图应用中提供的配置。如果这是一个成功,主进程开始新工作进程并将消息发送给旧的工作进程,请求他们关闭。否则,主进程回滚更改并继续使用旧的配置。旧的工作进程,接收命令关闭,停止接受新连接,继续服务当前请求,直到所有这样的请求提供服务。在那之后,旧的工作进程退出。

或者使用linux 信号量

一个信号也可以发送到nginx过程的帮助下Unix工具等 kill实用程序。在这种情况下一个信号是直接发送到一个过程与给定进程ID。nginx主进程的进程ID写,默认情况下, nginx.pid在目录中 /usr/local/nginx/logs /var/run。例如,如果主进程ID是1628,发送退出信号导致nginx的优雅的关闭,执行:

命令语法如下

kill -s QUIT 1628


TERM, INT 快速关闭(等于nginx -s stop) QUIT 优雅的关闭(等于nginx -s quit) HUP 从新加载配置(等于nginx -s reload)


获取所有运行nginx进程列表,例如,在以下方式:

ps -ax | grep nginx

注意


使用做任何操作后一定要检查操作是否成功。