欢迎大家扫码关注我的微信公众号:
Nginx 服务器的安装部署(二)-目录
Nginx 服务的启动、 重启和停止的方法有多种, 其中有一类是通过信号机制来实现的。
一、Nginx 服务的信号控制
Nginx 服务在运行时, 会保持一个主进程和一个或多个 worker process 工作进程。 我们通过给 Nginx 服务的主进程发送信号就能控制服务的启停了。 所以我们首先需要知道 Nginx 服务主进程的进程号 PID。
1.1 获取 Nginx 服务主进程 PID
获取 PID 的两种方法:
- 在 Nginx 服务启动后, 默认在 Nginx 服务器安装目录下的 logs 目录中会产生名为 nginx.pid 的文件, 此文件中保持的就是 Nginx 服务主进程的 PID:
# cat /Nginx/logs/nginx.pid
10472
- 通过 Linux 平台下查看进程的工具 ps:
# ps -ef|grep nginx
root 10472 1437 0 20:25 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 10473 10472 0 20:25 ? 00:00:00 nginx: worker process
root 10475 2272 0 20:25 pts/4 00:00:00 grep --color=auto nginx
此时我们看到, 第一行是 master process, root 后面的 10472 就是主进程的 PID, 与 nginx.pid 文件中保持的主进程 PID 相同。
1.2 Nginx 服务可接收的信号
Nginx 服务可接收的信号如下表所示:
信号 | 作用 |
---|---|
TERM 或 INT | 快速停止 Nginx 服务 |
QUIT | 平缓停止 Nginx 服务 |
HUP | 使用新的配置文件启动进程, 之后平缓停止原有进程, 也就是所谓的 “平滑重启” |
USR1 | 重新打开日志文件, 常用于日志切割 |
USR2 | 使用新版本的 Ngin |