Nginx发音为engine x,是一种自由,开源,高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。它可以用作独立的Web服务器,也可以用作Apache和其他Web服务器的反向代理

如果您是开发人员或系统管理员,则很可能会定期与Nginx打交道。使用Nginx Web服务器时,启动,停止以及重新启动/重新加载是最常见的任务。

在本教程中,我们将说明如何在Linux服务器上启动,停止和重新启动Nginx。

开始之前

这些说明假定您以root用户或具有sudo特权的用户身份登录。

当前大多数Linux发行版都使用Systemd作为默认的初始化系统和服务管理器。较早的发行版基于SysVinit作为初始化脚本来管理服务。

Systemd服务单元和SysVinit脚本都采用以下参数来管理Nginx服务:

  • start:启动Nginx服务。
  • stop:终止Nginx服务。
  • restart:停止然后启动Nginx服务。
  • reload:正常重载Nginx服务。重新加载时,Nginx主进程关闭子进程,加载新配置,然后启动新的子进程。
  • status:显示服务状态。

在所有Linux发行版中,用于管理Nginx服务的命令都是相同的。

使用systemctl

Systemd在较新的发行版中可用,比如Ubuntu 18.04/16.04 ,CentOS 7/8 和Debian 10/9 版本。

无论何时更改Nginx配置,都需要重新启动或重新加载Web服务器进程。执行以下命令以重新启动Nginx服务:

sudo systemctl restart nginx

添加或编辑服务器配置时,与重新启动相比,我们推荐使用重新加载。仅当进行重大修改(例如更改端口)时,才重新启动服务。重新加载时,Nginx会加载新配置,使用新配置启动新的子进程,并正常关闭旧的worker进程。

运行以下命令以重新加载Nginx服务:

sudo systemctl reload nginx

Nginx也可以由信号直接控制。例如,要重新加载服务,可以使用以下命令:

sudo /usr/sbin/nginx -s reload

要启动Nginx服务,请执行以下命令:

sudo systemctl start nginx

执行以下命令停止Nginx服务:

sudo systemctl stop nginx

使用SysVinit

在较旧的版本的Ubuntu,CentOS和Debian是使用init.d脚本来启动,停止和重新启动Nginx守护程序。

重新启动Nginx服务:

sudo service nginx restart

启动Nginx服务:

sudo service nginx start 

停止Nginx服务:

sudo service nginx stop

运行以下命令以重新加载Nginx服务:

sudo service nginx reload

结论

在本指南中,我们向您展示了如何在Linux系统上启动,停止和重新启动Nginx Web服务器。如果您有任何疑问或反馈,请随时在下面评论。