小伙伴们,如果公司使用的Web服务器为nginx,那么我们在部署项目时候,就会遇到修改nginx配置文件的情况.修改完配置后,需要重启nginx配置才会生效,接下来,我们看看如何实现nginx的启动,停止,重启;
一.命令详解
./nginx #打开 nginx
nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx
nginx -t #测试配置是否有语法错误
nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
-?,-h : 打开帮助信息
-v : 显示版本信息并退出
-V : 显示版本和配置选项信息,然后退出
-t : 检测配置文件是否有语法错误,然后退出
-q : 在检测配置文件期间屏蔽非错误信息
-s signal : 给一个 nginx 主进程发送信号:stop(停止), quit(退出), reopen(重启), reload(重新加载配置文件)
-p prefix : 设置前缀路径(默认是:/usr/local/nginx/)
-c filename : 设置配置文件(默认是:/usr/local/nginx/conf/nginx.conf)
-g directives : 设置配置文件外的全局指令
-s signal Send a signal to the master process. The argument signal can be one of: stop, quit, reopen, reload.
The following table shows the corresponding system signals:
stop SIGTERM
quit SIGQUIT
reopen SIGUSR1
SIGNALS
The master process of nginx can handle the following signals:
SIGINT, SIGTERM Shut down quickly.
SIGHUP Reload configuration, start the new worker process with a new configuration, and gracefully shut
down old worker processes.
SIGQUIT Shut down gracefully.
SIGUSR1 Reopen log files.
SIGUSR2 Upgrade the nginx executable on the fly.
SIGWINCH Shut down worker processes gracefully.
二.停止命令
1.查看进程号
$ ps -ef|grep nginx
root 5747 1 0 May23 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
500 12037 7886 0 10:00 pts/1 00:00:00 grep nginx
nobody 25581 5747 0 Sep27 ? 00:01:16 nginx: worker process
nobody 25582 5747 0 Sep27 ? 00:01:25 nginx: worker process
nobody 25583 5747 0 Sep27 ? 00:02:59 nginx: worker process
nobody 25584 5747 0 Sep27 ? 00:02:05 nginx: worker process
2.杀死进程
在进程列表里 面找master进程,它的编号就是主进程号了。这里要注意,我们服务器可能部署多个nginx服务器,可能会查到多个主进程,不要手误停错了;
#从容停止Nginx:
$ kill -QUIT 5747
#快速停止Nginx:
$ kill -TERM 5747
#强制停止Nginx:(常用)
$ kill -9 5747
三.重启命令
1.首先,检查修改的配置是否语法正确
进入nginx的sbin目录,输入命令
$ ./nginx -t
…… nginx.conf syntax is ok
…… nginx.conf test is successful
结果如上所示,说明配置文件正确,可以重启;
2.重启nginx服务
进入nginx的sbin目录,输入命令
./nginx -s reload
#平滑重启
kill -HUP 5747