nginx信号


编译安装nginx 需要安装以下包

yum install gcc gcc-c++ automake autoconf pcre pcre-devel zlib zlib-devel openssl openssl-devl
./configure --perfix=/usr/local/nginx
make && make install

nginx 编译安装 安装目录主要包括了conf html logs sbin等四个目录

其中 conf目录中存放了nginx的所有配置文件。
其中nginx.conf 文件是nginx服务器的主要配置文件。
其他配置文件是用来配置nginx的相关功能,
比如配置fastcgi使用的fastcgi.conf和fastcgi两个文件。
html目录中存放了nginx配武器运行过程中调用的一些html网页文件。

nginx启停控制 SIGNAL 信号

TERM或INT 快速停止nginx服务
QUIT 平滑停止nginx服务
HUP 使用心得配置文件启动进程,之后平缓停止原有进程,也就是所谓的平滑重启
USR1 重新打开日志文件,常用于日志切割
USR2 使用新版本nginx文件启动服务,之后平缓停止原有nginx进程,也就是所谓的平滑升级
WINCH 平缓停止worker process 用于nginx服务器平滑升级

kill SIGNAL pid
kill SIGNAL filepath
filepath为pid配置文件路径

nginx服务的启动
在linux平台下,启动nginx服务器直接运行安装目录下sbin目录中的二进制文件即
可。

./sbin/nginx -h
nginx version: nginx/1.16.1
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help                ##显示帮助信息
  -v            : show version and exit    ##打印版本号并退出
  -V            : show version and configure options then exit  ##打印版本号和配置并退出
  -t            : test configuration and exit         ## 测试配置正确性并退出
  -T            : test configuration, dump it and exit        ##测试配置时只显示报错
  -q            : suppress non-error messages during configuration testing        ##向主进程发送信号
  -s signal     : send signal to a master process: stop, quit, reopen, reload    、######测试配置时只显示报错
  -p prefix     : set prefix path (default: /home/nginx-server/)    ##指定nginx服务器路径前缀
  -c filename   : set configuration file (default: conf/nginx.conf)    #指定nginx配置文件路径
  -g directives : set global directives out of configuration file    #指定nginx附加配置文件路径

./sbin/nginx -g HUP [-c newconffile]

kill HUP 'nginx/logs/nginx.pid’ ##新的pid文件

nginx服务器升级
为了实现nginx服务器的平滑升级,新的服务器安装滤镜应该和旧的保持一致。因此建议用户在安装新服务器之前备份旧的服务器。则可以先使用一下命令将旧服务器的安装路径跟改为新服务器的安装路径。
./nginx -p newinstallpath
做好工作之后,使用一下命令实现nginx服务的平滑升级
./sbin/nginx -g USR2
其中 USR2信号用于发送平滑升级信号 或者使用
kill USR2 '/nginx/logs/nginx.pid'
通过ps -rf |grep nginx 查看新的nginx服务启动正常 在使用
./sbin/nginx -g WINCH
其中 WINCH信用用于发送平滑停止旧服务信号 或者 使用
kill WINCH ‘nginx/logs/nginx.pid’
这样就在不停止提供web服务的前提下完成了nginx服务器的平滑升级。


文章作者: Thomas
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Thomas !
  目录