目录
- 1、理解Nginx后台进程
- 2、停止Nginx(方式一:使用信号源)
- 2.1 获取master进程号
- 2.1 设置信号源
- 3、停止Nginx(方式二:使用命令行)
1、理解Nginx后台进程
Nginx后台进程包含master和worker
两类进程。
master进程:主要用来管理worker进程,包含接收外界的信息,并将接收到的信号发送给各个worker进程,监控worker进程的状态,当worker进程出现异常后,会自动重新启动新的worker进程。
worker进程:主要用来处理用户请求,各个worker进程之间是平等并且独立的,处理请求的机会也是一样的。
2、停止Nginx(方式一:使用信号源)
我们现在如果想要操作Nginx只需要获取master进程号,并给master进程发送信号即可。
2.1 获取master进程号
- 通过
ps -ef | grep nginx
- 通过Nginx的配置文件
more nginx.pid
2.1 设置信号源
信号 | 作用 | 案例 |
---|---|---|
TERM/INT | 立刻停止服务 | kill -TERM PID |
QUIT | 等进程执行完成之后关闭服务 | kill -QUIT PID |
HUP | 重新读取配置文件,并启动Nginx | kill -HUP PID |
USR1 | 重新打开日志文件,主要用来分割日志 | kill -USR1 PID |
USR2 | 升级Nginx | kill -USR2 PID |
WINCH | 所哟子进程不在接收处理新连接,相当于QUIT | kill -WINCH PID |
如果使用kill -USR2 PID
升级Nginx之后再次查看进行会发现存在两个master进程
我们可以查看Nginx配置文件来关闭老版本的Nginx
3、停止Nginx(方式二:使用命令行)
命令 | 含义 |
---|---|
./nginx -h | 查看Nginx命令帮助文档 |
./nginx -v | 查看Nginx版本号 |
./nginx -V | 查看Nginx版本号及详细信息 |
./nginx -t | 测试Nginx配置文件是否正确 |
./nginx -t | 测试Nginx配置文件是否正确,并查看配置文件的内容 |
./nginx -tq | 在测试期间,只输出错误信息 |
./nginx -s | ./nginx -s stop 快速关闭Nginx ./nginx -s quit 优雅的关闭Nginx ./nginx -s reopen 重新打开日志文件,类似于USR1 ./nginx -s reload 重新加载配置文件 |
./nginx -p | 重新设置Nginx的安装目录(别动) |
./nginx -tc 配置文件路径 | 指定Nginx配置文件的位置,默认=/usr/local/nginx/cong/nginx.conf |
./nginx -c 配置文件路径 | 指定配置文件启动Nginx |
./nginx -g | 修改Nginx配置(不用) |