本文参考以下链接: https://www.nginx.com/resources/admin-guide/processes-and-runtime-control/
Master 和 Worker 进程
Nginx包含一个master
进程和一到多个worker
进程。如果配置了缓存
的话,还将包含缓存加载进程
和缓存管理进程
。
master
进程主要负责读取配置文件,并控制管理workder
进程。
worker
进程负责处理请求。Nginx基于操作系统的调度机制高效地在worker
进程间分配请求。可以在nginx.conf
配置文件中设置worker
进程的数量,一般设置为服务器的CPU内核数。
管理 Nginx 进程
有两种方式让修改后的配置文件生效:
-
停止
并重启
Nginx - 给
master
进程发送信号
信号可以通过以下方式发送(nginx是可执行文件):
nginx -s signal
其中signal
常用选项如下:
- quit - 优雅的关闭,即处理完当前请求再关闭
- reload - 重新载入配置文件
- reopen - 重新打开日志文件
- stop - 立即关闭
也可以通过Linux的kill
命令直接发送信号给master
进程。Nginx的进程ID通常保存在/usr/local/nginx/logs
或/var/run
目录下的nginx.pid
文件中。