NGINX
有一个或多个主进程和一个或多个工作进程。如果启用了缓存,则缓存加载程序和缓存管理器进程也会在启动时运行。
主进程的主要目的是读取和评估配置文件,以及维护工作进程。
工作进程对请求进行实际处理。nginx
采用基于事件的模型和依赖于操作系统的机制,在工作进程之间有效地分配请求。工作进程的数量在配置文件中定义,可以针对给定的配置进行固定,也可以根据可用的 CPU 内核数自动调整(参见 worker_processes
)
nginx
及其模块的工作方式在配置文件中确定。默认情况下,配置文件被命名 nginx.conf
并放置在目录 /usr/local/nginx/conf
、 /etc/nginx
或 /usr/local/etc/nginx
中。
要重新加载配置,可以停止或重新启动 NGINX
,或向主进程发送信号。可以通过运行带有 -s
参数 nginx
的命令(调用 NGINX
可执行文件)来发送信号。
nginx -s <SIGNAL>
其中 可以是下列值之一:
在将重新加载配置的命令发送到 nginx 或重新启动之前,不会应用在配置文件中所做的更改。要重新加载配置,请执行:
nginx -s reload
一旦主进程收到重新加载配置的信号,它就会检查新配置文件的语法有效性,并尝试应用其中提供的配置。如果此操作成功,主进程将启动新的工作进程,并向旧的工作进程发送消息,请求它们关闭。否则,主进程将回滚更改并继续使用旧配置。旧工作进程收到关闭命令,停止接受新连接并继续为当前请求提供服务,直到所有此类请求都得到服务。之后,旧的工作进程将退出。
该 kill 实用程序还可用于直接向主进程发送信号。默认情况下,主进程的进程 ID 将写入 nginx.pid 文件,该文件位于 /usr/local/nginx/logs 或 /var/run 目录中。