Linux 使用pid文件结束nginx

nginx的结束重启一般是通过下面命令来实现的:

kill -QUIT 26000

其中26000是nginx的主进程号。

 

每次都需要通过ps命令来查询nginx的主进程号,非常麻烦。 在《实战nginx:取代Apache的高性能Web服务器》一书中提到了使用pid文件的方法,不巧的是给的命令漏了些东西,这里给出完整的指令。

 

什么是pid文件

 

pid文件就是一个纯文本文件,里面记录的是进程的pid号。

下面是一个pid文件的内容::

26032

 

nginx的默认pid文件

nginx使用了pid文件来记录master process的pid号,如果编译时没有指定,那它的路径就是:

 <prefix>/logs/nginx.pid

其中<prefix>是nginx的安装路径。

 

如果你想修改默认的pid文件路径,可以在编译时加入配置。参数如下::

 ./configure –-pid-path=/data/test/ngx.pid

指定后,默认的pid文件路径就更改为::

/data/test/ngx.pid

如果指定只是路径,没有pid的文件名,那么pid的文件名还是nginx.pid

 

通过配置文件修改pid

除了使用默认值和通过编译时修改外,还可以通过在nginx的配置文件中修改。如下:

pid  /data/test/nginx.pid;

 

这里修改的值只对使用该配置文件的nginx有效。

 

用PID文件停止Nginx

假设pid文件路径为/data/logs/nginx.pid

kill –QUIT `cat /data/logs/nginx.pid`

 

用pid文件重新加载配置文件

kill –HUP `cat /data/logs/nginx.pid`
posted @ 2011-03-21 19:57  林杰的博客  阅读(12773)  评论(4编辑  收藏  举报