nginx基本命令解析

1. 启动nginx命令
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2. 停止nginx
/usr/local/nginx/sbin/nginx -s stop
3. 优雅的退出nginx
/usr/local/nginx/sbin/nginx -s quit
4. 检查配置文件
/usr/local/nginx/sbin/nginx -t
5. 重新加载nginx
/usr/local/nginx/sbin/nginx -s reload
6. 安全停止
kill -QUIT 进程号
7. 立即停止
kill -TERM 进程号
8. 平滑重启,重新加载配置文件
kill -HUP 进程号
9. 重新打开日志文件
kill -USR1 进程号
10. 平滑升级可执行程序
kill -USR2 进程号
11. 强制终止,直接杀
kill -9 进程号
12. nginx版本
/usr/local/nginx/sbin/nginx -v
13. nginx版本等详细信息
/usr/local/nginx/sbin/nginx -V

 

在nginx的早期版本,nginx重启需要通过kill命令向nginx发送信号来实现nginx的重启。
但是,现在,nginx增加了-s选项,实现nginx的停止,重新加载功能。
1. 如果是平滑的重启nginx,可以用./nginx -s reload命令实现nginx的平滑重启。
2. 如果是非平滑重启,则可以先停止nginx,然后再启动:
./nginx -s stop && ./nginx

当我们修改nginx配置后,希望重启nginx以便让nginx生效,此时为了保证nginx在重启阶段还能够提供正常的服务,一般采用平滑重启的方式(reload)重启nginx。此时,nginx会加载新的配置,然后fork出新的worker进程。同时,master进程会向老的worker进程发送信号,告诉老的worker进程当前的情况。老的worker进程受到master进程的信号后,如果当时没有处理请求则会退出,如果正在处理请求,则老的worker进程会处理完请求然后退出。nginx就是通过这种方式去reload新的配置,从而使得在重启的过程中,仍然可以提供服务。

posted @ 2022-04-20 14:12  Dabo丶  阅读(403)  评论(0编辑  收藏  举报