1.nginx命令行参数


不像许多其他软件系统,Nginx 仅有几个命令行参数,完全通过配置文件来配置
sudo nginx -t
-c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的。

-t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

-v 显示 nginx 的版本。

-V 显示 nginx 的版本,编译器版本和配置参数。

nginx -h

  -?,-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: /usr/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file
  • stop — fast shutdown,不处理请求直接停止
  • quit — graceful shutdown,处理完请求后停止
  • reload — reloading the configuration file,重载配置文件
  • reopen — reopening the log files

2. nginx控制信号


2.1 信号

  • 主进程可以处理的信号:
TERM, INT 快速关闭
QUIT 从容关闭
HUP 重载配置
用新的配置开始新的工作进程
从容关闭旧的工作进程
USR1 重新打开日志文件
USR2 平滑升级可执行程序。
WINCH 从容关闭工作进程
  • 尽管你不必自己操作工作进程,但是,它们也支持一些信号:
TERM, INT 快速关闭
QUIT 从容关闭
USR1 重新打开日志文件

2.2 nginx信号实战

启动nginx sudo nginx或者sudo /usr/local/nginx/nginx
使用ps -ef|grep nginx查看nginx的pid、
命令格式:kill 信号 nginx进程号
  1. sudo kill -QUIT 25743 优雅的关闭nginx进程,在处理完所有正在使用nginx用户请求后再关闭nginx进程,等同于/usr/local/nginx -s quit
  2. sudo kill -HUP 7370 nginx进程不关闭,但是重新加载配置文件。等同于/usr/local/nginx -s reload
  3. sudo kill -USR1 7370不用关闭nginx进程就可以重读日志,此命令可以用于nginx的日志定时备份,按月/日等时间间隔分割有用
  4. sudo kill -USR2 7370 nginx的版本需要升级的时候,不需要停止nginx,就能对nginx升级
  5. sudo kill -WINCH 7370 优雅的关闭nginx旧版本的进程,配合USR2对nginx升级

如果嫌麻烦可以不用查看进程号,直接使用命令进行操作
例如

kill  -QUIT  `cat  /usr/local/nginx/nginx.pid`

其中/usr/local/nginx/nginx.pid 为nginx.conf中pid命令设置的参数,用来存放nginx主进程号的文件

3. nginx 启动、停止、重启命令


3.1 nginx启动

用nginx二进制文件绝对路径sudo /usr/local/nginx/nginxsudo nginx启动

3.2 停止

ps -ef |grep nginx
kill -QUIT  nginx主进程号

nginx从容停止命令,等所有请求结束后关闭服务

kill -9 nginx主进程号

强行停止

3.3 nginx重启

重启类型
1.简单型,先关闭进程,修改你的配置后,重启进程。
kill -QUIT cat /usr/local/nginx/nginx.pid
sudo /usr/local/nginx/nginx
2.重新加载配置文件,不重启进程,不会停止处理请求HUP
3.平滑更新nginx二进制,不会停止处理请求USR2与WINCH

treeshade
7 声望0 粉丝