Nginx启动、重启、重新加载配置文件、平滑升降版本
-
Nginx有一个主进程和几个工作进程,主进程的主要作用就是
读取、评估配置文件和管理工作进程
,工作进程对请求做实际处理
; -
工作进程的数量是在配置文件中配置的,一般设置为
cpu的核心数*线程数
; -
nginx可以通过信号控制,默认情况下,主进程的进程ID记录在/usr/local/nginx/logs/nginx.pid 文件中;
-
信号可以通过nginx可执行文件发送给nginx (nginx -s 信号),也可以通过unix的kill命令发送给nginx,这种情况下是将信号直接发送给指定进程ID的进程,如:kill QUIT 1628;
一、Nginx服务常用管理命令
1、启动nginx,直接运行nginx的可执行文件:
[root@localhost ~]# /usr/local/nginx/sbin/nginx
2、停止nginx
- 快速关闭:
nginx -s stop
或者kill -TERM 主进程号
或者kill -INT 主进程号
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop
或者
[root@localhost ~]# ps -ef | grep nginx
root 9970 1 0 10:12 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 9971 9970 0 10:12 ? 00:00:00 nginx: worker process
root 10195 9921 0 10:24 pts/2 00:00:00 grep --color=auto nginx
[root@localhost ~]# kill -TERM 9879
- 优雅关闭(不接受新的连接请求,等待旧的连接请求处理完毕再关闭):
nginx -s quit
或者kill -QUIT 主进程号
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s quit
或者
注意:执行该命令的用户应该是启动nginx的用户
[root@localhost sbin]# ps -ef |grep nginx
root 9889 1 0 13:17 ? 00:00:00 nginx: master process ./nginx
nobody 9890 9889 0 13:17 ? 00:00:00 nginx: worker process
root 9893 2008 0 13