如何启动,停止或重新启动 Nginx

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

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

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

在你开始之前

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

目前大多数 Linux 发行版都使用 SystemD 作为默认的初始系统和服务经理。旧的发行是基于 SysVinit 的使用 init 脚本来管理服务。

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

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

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

启动,停止和重新启动 Nginx 的使用  systemctl

SystemD 是最新的 Ubuntu 18.04/[16.04](/linux/how-to-install-nginx-on-ubuntu-16-04/ , CentOS 的 7/8 ,和的 Debian(10/9) 版本的的系统和服务管理者。

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

sudo systemctl restart nginx

添加或编辑服务器块时,与重新启动相比,更喜欢重新加载。仅当进行重大修改(例如更改端口或接口)时,才重新启动服务。在重新加载时, Nginx 加载新配置,使用新配置启动新的工作进程,并正常关闭旧的工作进程。

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

sudo systemctl reload nginx

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

sudo /usr/sbin/nginx -s reload

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

sudo systemctl start nginx

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

sudo systemctl stop nginx

使用 SysVinit 启动,停止和重新启动 Nginx

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

重新启动 Nginx 服务:

sudo service nginx restart

启动 Nginx 服务:

sudo service nginx start

停止 Nginx 服务:

sudo service nginx stop

结论

在本指南中,我们向您展示了如何在 Linux 系统上启动,停止和重新启动 Nginx Web 服务器。