如何在Ubuntu/CentOS/Docker上重新启动Nginx

时间:2020-03-05 15:31:58  来源:igfitidea点击:

我们多久在Linux Web服务器上重新启动NGNIX服务?
此教程 帖子将通过命令行和在Docker容器中运行的Nginx上涵盖各种方法来重新启动Linux系统上的nginx。
我已在Systemd Server和Sysv Init/Upstart系统上覆盖。

打开终端并使用root/sudo用户登录以在下面显示的命令下运行。
还可以在2种方式中进行SSH进入运行的Docker容器。

重新启动nginx http服务器

CentOS 7,Ubuntu 18.04和Ubuntu16.04是系统操作系统。
要重新启动nginx服务,我们需要使用systemctl命令行工具。

建议在重新启动nginx服务之前检查语法,

$sudo nginx -t
$sudo systemctl restart nginx

如果在修改nginx服务单元文件后重新启动,则需要首先重新加载SystemD

$sudo systemctl daemon-reload

然后重新启动nginx.

$sudo systemctl restart nginx

如果要重新加载配置而无需重新启动该服务,例如:维护当前会话,请使用

sudo systemctl reload nginx

在Upstart/Sysv Init系统上重新启动nginx

如果我们正在使用upstart或者sysv init系统运行一个系统。
例如,Ubuntu 14.04,CentOS 6,我们需要使用service命令管理nginx服务。

$sudo service nginx restart

我们还可以使用Init脚本的绝对路径,例如

sudo /etc/init.d/nginx restart

重新启动Docker容器内的Nginx

对于在Docker容器内运行的nginx,建议重新加载配置而不是重新启动服务。
此外,建议阅读如何在Ubuntu上使用没有sudo的Docker。

docker exec <nginx-container-name-or-id> nginx -s reload

如果必须重新启动nginx进程,请考虑使用命令重新启动容器:

$docker restart <container name|id>

例子

$docker restart nginx

其中nginx是nginx容器的名称。

重新启动nginx是一个简单的过程,但我们需要小心确保所做的任何更改都有正确的语法,以避免在重启期间失败。
用于检查配置语法的命令是nginx -t