linux下如何重启nginx

上周试过这个的。

首先。
进入nginx可执行目录bin。
路径是 cd /usr/local/nginx/sbin。

然后。
输入 ./nginx -s reload。
就能重启nginx了。

第二种方法。
先查nginx进程号。
命令是 ps aux | grep nginx。

找到那个数字。
然后。
输入 kill -HUP 进程号。
比如进程号是1 2 3 4 就输入 kill -HUP 1 2 3 4 这样也能重启。

你看着办。

linux下如何重启nginx

嗯,前两天在服务器上搞东西,突然想重启一下nginx看看效果。
当时手头正好在用一台装着Ubuntu 2 0.04 的虚拟机,IP是1 9 2 .1 6 8 .1 .1 00。
想着得用管理员权限弄,不然肯定不行。

打开终端,输入sudo -i,然后输入密码,成功了。
屏幕一下子清了,出现那个熟悉的root@...的提示符。
我琢磨着,是用nginx -s reload还是systemctl restart nginx呢?这得看系统怎么管理的。

我先输入ps aux | grep nginx,看看进程。
果然看到几个nginx相关的进程在跑。
然后我试了sudo nginx -s reload,感觉挺快,没有报错。
过了一会儿,再用ps aux | grep nginx看,发现之前的几个进程还在,但状态好像变了点。
心里琢磨着,这确实没中断现有连接。
要是用systemctl会不会不一样?
等等,我赶紧用sudo systemctl status nginx看了下状态,显示是active (running),没有报什么异常。
我又试了sudo systemctl restart nginx,这次感觉停顿的时间长一点,好像真的把老的进程都杀掉了,又启动了新的。
屏幕上闪过一行行日志,最后显示服务重启成功。

这时候,我打开浏览器,访问http://1 9 2 .1 6 8 .1 .1 00,页面还是正常加载的。
心里挺踏实。
不过突然想到,如果配置里有什么错误,这两种方法重启,会不会表现不一样?比如说,配置错了,reload是马上生效还是等所有连接断开重连才生效?restart呢?这得找机会试试看。