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信号实战
启动nginxsudo nginx
或者sudo /usr/local/nginx/nginx
使用ps -ef|grep nginx
查看nginx的pid、
命令格式:kill 信号 nginx进程号
-
sudo kill -QUIT 25743
优雅的关闭nginx进程,在处理完所有正在使用nginx用户请求后再关闭nginx进程,等同于/usr/local/nginx -s quit
-
sudo kill -HUP 7370
nginx进程不关闭,但是重新加载配置文件。等同于/usr/local/nginx -s reload
-
sudo kill -USR1 7370
不用关闭nginx进程就可以重读日志,此命令可以用于nginx的日志定时备份,按月/日等时间间隔分割有用 -
sudo kill -USR2 7370
nginx的版本需要升级的时候,不需要停止nginx,就能对nginx升级 -
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/nginx
或sudo 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。