Nginx服务的控制方式

Nginx服务器的启停控制

通过信号机制来控制

通过给Nginx服务的主进程和工作进程发送信号控制服务的启停。
Nginx服务在运行时,会保持一个主进程和一个或多个worker process工作进程。
我们通过给Nginx服务的主进程发送信号就可以控制服务的启停了。
NGINX控制信号:
TERM,INT 快速关闭
QUIT 从容关闭
HUP 用新的配置开始新的工作进程,从容关闭旧的工作进程
USR1 重新打开日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程

使用语法:kill -信号 nginx主进程号

通过命令控制:

nginx -s [ stop|quit|reopen|reload]
stop:强制停止NGINX,不管工作进程当前是否在处理用户请求,都会立即退出
quit:优雅地退出NGINX,工作进程会将当前正在处理的请求处理完毕后,再退出
reload:重载配置信息
reopen;重新打开日志文件
nginx -t 不运行,仅仅测试配置文件
nginx -c /path/to/config 为nginx指定一个配置文件,来代替缺省的
nginx -v 查看NGINX版本
nginx -V 查看nginx编译参数

Nginx服务的启动:

在linux平台下,执行Nginx安装目录下sbin目录下的nginx命令即可启动Nginx服务。

Nginx服务平滑重启:

平滑重启:
    Nginx服务进程接收到信号后,首先读取新的Nginx配置文件,如果配置语法正确,则启动新的Nginx服务,然后平缓关闭旧的服务进程;如果新的Nginx配置有问题,将显示错误,并仍然使用旧的Nginx进程提供服务。
    实现平滑重启的命令:
    nginx -g HUP [-c 新配置文件路径]
    #HUP: 平滑重启信号
    #-c 新配置文件路径 :指定新配置文件路径

Nginx服务器的平滑升级

    Nginx可实现平滑升级,在进行新版本升级过程中,还可以提供Nginx服务。

    平滑升级的过程:
    Nginx服务接收到USER2信号后,首先将旧的nginx.pid文件添加后缀.oldbin,变为nginx.pid.oldbin文件
    然后执行新版Nginx服务的二进制文件启动服务。如果新Nginx服务启动成功,此时系统中将有新旧俩个Nginx服务提供Web服务。之后,向旧的Nginx服务进程发送WINCH信号,停止旧的Nginx服务,并删除nginx.pid.oldbin文件。
    为实现平滑升级,新旧Nginx服务应安装路径应保持一致,如无法保持新旧nginx安装路径一致,可使用一下命令将旧nginx的安装路径改为新nginx的安装路径:
    nginx -p 新安装路径

    平滑升级命令:
        Nginx -g USR2

本文章整理自马哥linux和Nginx高性能web服务器详解,版权归原作者所有

猜你喜欢

转载自blog.51cto.com/3037673/2299692