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
注意
使用做任何操作后一定要检查操作是否成功。