【我的笔记】跟着官方文档学nginx——Controlling nginx

Controlling nginx,这篇文档主要讲如何细化控制nginx进程,并用配置更新、日志轮换、nginx更新二进制文件三个例子说明。nginx

开始

前言

nginx 可以用进程命令控制,进程的ID位于logs/nginx.pid。socket

主进程支持如下命令spa

TERM, INT 快速关闭线程

QUIT 正常关闭debug

HUP 改变配置,关闭旧工做线程,开启新的(keeping up with a changed time zone这句没看懂)日志

USR1 重写log文件code

USR2 升级二进制文件,/sbin/nginx进程

WINCH 关闭工做进程文档

工做进程支持如下命令it

TERM,INT 同上

QUIT 同上

USR1 同上

WINCH 用于debug,但不知道怎么用

这里我

1、配置更新

用HUB命令,会使主进程重读conf配置文件,并试着使用新配置,成功,则重写log文件,并关闭(正常关闭)旧工做线程,开启新的,失败则回滚至旧配置,不开启新进程。

2、轮换日志

首先将日志更名,USR1发送后,主进程从新打开已经被打开的日志并分配存活的工做进程,主进程关闭全部文件后通知工做进程重从新打开文件,工做进程新建文件,关闭旧文件。

这个主、工做进程,反复打开关闭文件我太懂,日志是主进程管理的么?USR1以后分给工做进程处理了?

3、更新二进制文件

更新以前先备份,替换后执行USR2, 会出现新的主进程和工做进程,而后,对旧主的执行WINCH,则保留旧主,正常关闭旧工做进程,平滑过渡了请求,注意!此时旧主仍在监听sockets,若是须要从新启用它,只需作下面两个操做

对old master发送HUP消息,再QUIT掉new master

TERM关闭new master,old master会自动回来

若是不须要从新启用old master,且更新成功,只须要QUIT掉old master

若是从新启动了,关闭new master了

If the new master process exits then the old master process discards the .oldbin suffix from the file name with the process ID.

这句我看不懂,抛弃带有pid的文件名以.oldbin结尾的文件是什么意思

相关文章
相关标签/搜索