引用处: http://blogread.cn/it/article/4549?f=hot1
说明: Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:
语法: /usr/local/nginx/sbin/nginx -参数
-c :使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-s reload 重载
-s stop 停止
例如:
nginx启动/重启/停止
启动代码格式:nginx安装目录地址 -c nginx配置文件地址
[root@sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
停止nginx有四种方式:
- 从容停止
先查看进程号
[root@sbin]# ps -ef|grep nginx
杀死进程
[root@sbin]# kill -QUIT 2072
- 快速停止
查看进程号
杀死进程
[root@sbin]# kill -TERM 2072 或 [root@sbin]# kill -INT 2072
- 强制停止
[root@sbin]# kill -9 2072
另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,详解如下
-
Linux 使用pid文件结束nginx
说明:什么是pid文件?
解答: pid文件就是一个纯文本文件,里面记录的是进程的pid号。
nginx的默认pid文件
nginx使用了pid文件来记录master process的pid号,如果编译时没有指定,那它的路径就是:
1 | <prefix> /logg/nginx .pid |
其中<prefix>是nginx的安装路径。
如果你想修改默认的pid文件路径,可以在编译时加入配置。参数如下:
1 | . /configure --pid-path= /data/test/ngx .pid |
指定后,默认的pid文件路径就更改为:
1 | /data/test/ngx .pid |
如果指定只是路径,没有pid的文件名,那么pid的文件名还是nginx.pid
除了使用默认值和通过编译时修改外,还可以通过在nginx的配置文件中修改。如下:
1 | pid /var/run/nginx .pid; |
这里修改的值只对使用该配置文件的nginx有效。
假设pid文件路径为/data/logs/nginx.pid
1 | kill -QUIT 'cat /data/run/nginx.pid' |
1 | kill -HUP 'cat /data/run/nginx.pid' |
nginx检查配置文件是否正确
用于查看新修改的nginx是否有语法错误/结构错误等,避免上线导致服务器出错
/usr/local/nginx/sbin/nginx -t
如果如图所示,打印successful结尾,那么代表配置无语法错误(也可以在启动命令中-c前面加-t 来启动的时候同时检验配置文件语法)
-c指定配置文件的语法:
/usr/local/nginx/sbin/nginx -t -c /etc/nginx/nginx.conf
如果语法错误,会有类似如下的错误:
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx修改配置后重载
两种方式:
方式一:平滑重启
kill -HUP 住进称号或进程号文件路径
或者使用
/usr/local/nginx/sbin/nginx -s reload
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。
方式二:先杀掉nginx的进程,然后在启动,就不再叙述
引用处: