nginx的启动、中止、平滑重启

1、Nginx 的启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    参数 "-c" 指定了配置文件的路径,若是不加 "-c" 参数,Nginx 会默认加载其安装目录的 conf 子目录中的 nginx.conf 文件,在本例中即:/usr/local/nginx/conf/nginx.conf。nginx

 

2、Nginx 的中止

 

能够经过 ps 命令来查找 Nginx 的主进程号:web

ps -ef|grep nginx

从图中能够看到,1 个 Nginx 进程的备注信息为 “master process”,表示它为主进程,另外的 2 个进程的备注信息为 “worker process”,表示它们为子进程。3781为主进程号。bash

若是在 nginx.conf 配置文件中指定了 pid 文件存放的路径 (例如:/usr/local/webserver/nginx/nginx.pid;),该文件中存放的就是 Nginx 当前的进程号。若是没有指定 pid 文件存放的路径,nginx.pid 文件默认存放在 Nginx 安装目录的 logs 目录下。因此,咱们能够直接经过如下命令来完成命令来完成中止,省下寻找 Nginx 主进程号的步骤:spa

kill -信号类型 `cat /usr/local/webserver/nginx/nginx.pid`

(1) 从容中止 Nginx日志

kill -QUIT Nginx主进程号

code

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

 

(2) 快速中止 Nginxserver

kill -TERM Nginx主进程号
kill -TERM `cat /usr/local/webserver/nginx/nginx.pid`

进程

kill -INT Nginx主进程号
kill -INT `cat /usr/local/webserver/nginx/nginx.pid`

 

(3) 强制中止全部 Nginx 进程ast

pkill -9 nginx

 

3、Nginx 的平滑重启

    若是改变了 Nginx 的配置文件 (nginx.conf),想要重启 Nginx ,一样能够经过发送系统信号给 Nginx 主进程的方式来进行。不过,重启以前,要确认 Nginx 配置文件 (nginx.conf) 的语法是正确的,不然 Nginx 将不会加载新的配置文件。经过如下命令能够判断 Nginx 配置文件是否正确:class

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

    若是配置文件不正确,屏幕将会提示配置文件的第几行出错;

    若是配置文件正确,屏幕将提示如下两行信息:

    

     这时候,就能够平滑重启 Nginx 了。

 

kill -HUP Nginx主进程号

    或

kill -HUP `cat /usr/local/webserver/nginx/nginx.pid`

 

    当 Nginx 接收到 HUP 信号时,它会尝试先解析配置文件 (若是指定配置文件,就使用指定的,不然使用默认的),若是成功,就应用新的配置文件 ( 例如,从新打开日志文件或监听的套接字 )。以后, Nginx 运行新的工做进程并从容关闭旧的工做进程。通知工做进程关闭监听套接字,可是继续为当前链接的客户提供服务。全部客户端的服务完成后,旧的工做进程被关闭。若是新的配置文件应用失败,Nginx 将继续使用旧的配置进行工做。

 

4、Nginx 的信号控制

        在上一节中,咱们使用了信号来控制 Nginx 中止、平滑重启,Nginx 支持如下几种信号:

  • TERM,INT 快速关闭;
  • QUIT 从容关闭;
  • HUP 平滑重启,从新加载配置文件;
  • USR1 从新打开日志文件,在切割日志时用途较大;
  • USR2 平滑升级可执行程序;
  • WINCH 从容关闭工做进程。
相关文章
相关标签/搜索