Nginx的启动、关闭、重启、Nginx升级、关闭旧进程

Nginx的启动、关闭、重启、日志分割、Nginx升级、关闭旧进程

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

你可能感兴趣的:(Nginx学习)