Nginx的启动、关闭、重启、日志分割、Nginx升级、关闭旧进程
- Nginx的启动主要是通过sbin目录下的nginx二进制文件进行启动,但是重启和关闭就没有对应的二进制文件可以操作,这样就需要用到Linux中的信号量,具体存在哪些信号量可以参考Nginx官方文档,常用的信号量有
- 启动Nginx,直接运行sbin下的二进制文件
./sbin/nginx
- 关闭Nginx,使用的语法
kill 信号量 进程id
- 查询Nginx程序运行时的id
ps aux|grep nginx
查询时就会发现有两个Nginx正在运行。Nginx:master是主进程文件,主进程不直接相应浏览器的请求,主进程只负责管理各个子进程并将请求分发到各个子进程;Nginx:worker是子进程文件,直接处理主进程分发的请求。 - 使用信号量控制程序关闭
强制关闭进程kill -9 进程id 或者 pkill -9 进程id
此方法不推荐使用
直接关闭进程kill -INT 进程ID 或者 kill - TERM 进程d
缓慢关闭进程kill -QUIT 进程id
等Nginx将请求处理完成之后再关闭进程
- 查询Nginx程序运行时的id
- 重启Nginx,重启Nginx时会重新读取配置文件
kill -HUP 进程ID
为什么查看HUP的效果,修改conf目录下的nginx.conf配置文件控制默认加载页面 - 日志分割
kill -USR1 进程ID
Nginx日志存储原理:Nginx会在logs目录下对应的**.log文件,然后将日志写入对应的.log**文件中
Nginx日志分割原理:1. 将原有的日志文件重命名,2. 创建一个和原有日志文件一样名称的文件,3. 执行kill -USER1 进程id
告诉Nginx向新的文件写入日志
- Nginx升级,安装好新的Nginx之后执行
kill -USR2 进程ID
这样就可以使用新进程去控制旧进程,可以做到版本共用 - 关闭旧进程,安装好新的Nginx之后执行
kill -WINCH 进程ID
会缓慢的关闭旧进程,全部使用新进程,做到版本切换 - Nginx提供的命令