
一、Nginx启停1Nginx服务的信号控制2Nginx服务的命令行控制1信号控制Nginx默认是采用多进程的方式来工作的Nginx启动后ps -ef | grep nginx查询进程信息master进程对应的pid是2890在logs文件夹下的nginxpid文件也可以查询到信号 作用TERM/INT 立即关闭整个服务QUIT 优雅地关闭整个服务请求处理完成后才关闭HUP 重读配置文件并使用服务对新配置项生效USR1 重新打开日志文件可以用来进行日志切割USR2 平滑升级到最新版的nginxWINCH 所有子进程不再处理新连接相当于给work进程发送QUIT指令举例① TERM/INT表示立刻关闭这里只能写进程id不能为名称kill -TERM 2890kill -INT 2890./nginx重新启动此时进程号会发生变化② QUIT处理完所有请求之后再关闭Kill -QUIT 2890③ HUP重读配置文件并使用服务对新配置项生效Kill -HUP 31296Kill前Kill后此时会把原有的worker关闭然后重新起一个新的worker这个worker读取的是最新配置④ WITCHmaster会让所有的work进程不再接收新请求在worker处理完当前请求后退出不退出master进程WITCH和QUIT非常相似但有区别QUIT会把nginx的所有服务都关闭掉包括master和worker进程WITCH只会把所有的worker进程关闭掉而master进程是不会进行关闭的⑤ USR1服务器会关闭写现在的日志文件重新读取日志可以用于轮转分割日志不影响正在处理的请求仅对日志文件进行操作⑥ USR2实现nginx服务器的平滑升级Nginx可以实现无间断的服务在不重新启动服务器的情况下也能对nginx进行升级USR2会重新打开一份master和worker然后把新的进程的pid4453记录到/usr/local/nginx/logs/nginx.pid原来的进程的pid3690记录到目录下的nginx.pid.oldb