在运行时控制Nginx进程

发布时间:2023年12月28日

主进程和工作进程

NGINX 有一个或多个主进程和一个或多个工作进程。如果启用了缓存,则缓存加载程序和缓存管理器进程也会在启动时运行。

主进程的主要目的是读取和评估配置文件,以及维护工作进程

工作进程对请求进行实际处理nginx 采用基于事件的模型和依赖于操作系统的机制,在工作进程之间有效地分配请求。工作进程的数量在配置文件中定义,可以针对给定的配置进行固定,也可以根据可用的 CPU 内核数自动调整(参见 worker_processes

nginx 及其模块的工作方式在配置文件中确定。默认情况下,配置文件被命名 nginx.conf 并放置在目录 /usr/local/nginx/conf/etc/nginx/usr/local/etc/nginx 中。

控制Nginx

要重新加载配置,可以停止或重新启动 NGINX,或向主进程发送信号。可以通过运行带有 -s 参数 nginx 的命令(调用 NGINX 可执行文件)来发送信号。

nginx -s <SIGNAL>

其中 可以是下列值之一:

  • quit – 优雅关机( SIGQUIT 信号)
  • reload – 重新加载配置文件( SIGHUP 信号)
  • reopen – 重新打开日志文件( SIGUSR1 信号)
  • stop – 立即关机(或快速关机, SIGTERM 单机)

在将重新加载配置的命令发送到 nginx 或重新启动之前,不会应用在配置文件中所做的更改。要重新加载配置,请执行:

nginx -s reload

一旦主进程收到重新加载配置的信号,它就会检查新配置文件的语法有效性,并尝试应用其中提供的配置。如果此操作成功,主进程将启动新的工作进程,并向旧的工作进程发送消息,请求它们关闭。否则,主进程将回滚更改并继续使用旧配置。旧工作进程收到关闭命令,停止接受新连接并继续为当前请求提供服务,直到所有此类请求都得到服务。之后,旧的工作进程将退出。

该 kill 实用程序还可用于直接向主进程发送信号。默认情况下,主进程的进程 ID 将写入 nginx.pid 文件,该文件位于 /usr/local/nginx/logs 或 /var/run 目录中。

文章来源:https://blog.csdn.net/qq_43072399/article/details/135238112
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。