/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
能够经过 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
若是改变了 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 将继续使用旧的配置进行工做。
在上一节中,咱们使用了信号来控制 Nginx 中止、平滑重启,Nginx 支持如下几种信号: