Nginx 发音为“engine x”,是一个免费、开源、高性能的 HTTP 和反向代理服务器,负责处理 Internet 上一些最大站点的负载。它可以用作独立的 Web 服务器或用作 Apache 和其他 Web 服务器的反向代理。
如果您是开发人员或系统管理员,您很可能会定期与 Nginx 打交道。使用 Nginx 网络服务器时,启动、停止和重新启动/重新加载是最常见的任务。
本文解释了如何在 Linux 服务器上启动、停止和重启 Nginx。
在你开始之前
这些说明假定您以 root 或具有sudo 权限的用户身份登录。
当前的大多数 Linux 发行版都使用 SystemD 作为默认的初始化系统和服务管理器。较旧的发行版基于 SysVinit 并使用 init 脚本来管理服务。
SystemD 服务单元和 SysVinit 脚本都采用以下参数来管理 Nginx 服务:
- start: 启动 Nginx 服务。
- stop: 终止 Nginx 服务。
- restart: 停止然后启动 Nginx 服务。
- reload: 优雅地重启 Nginx 服务。在重新加载时,主 Nginx 进程关闭子进程,加载新配置,并启动新的子进程。
- status:显示服务状态。
管理 Nginx 服务的命令 在所有 Linux 发行版上都是相同的。
启动、停止和重启 Nginx 使用 systemctl
SystemD 是最新的 Ubuntu 18.04 / 16.04 、CentOS 7 / 8 和 Debian 10 / 9 版本的系统和服务管理器。
每当您更改 Nginx 配置时,您都需要重新启动或重新加载网络服务器进程。执行以下命令重启Nginx服务:
sudo systemctl restart nginx
添加或编辑服务器块时,更喜欢重新加载而不是重新启动。仅在进行重大修改(例如更改端口或接口)时才重新启动服务。在重新加载时,Nginx 加载新配置,使用新配置启动新的工作进程,并优雅地关闭旧的工作进程。
运行以下命令以重新加载 Nginx 服务:
sudo systemctl restart nginx
Nginx 也可以直接用信号控制 。例如,要重新加载服务,您可以使用以下命令:
sudo /usr/sbin/nginx -s reload
要启动 Nginx 服务,请执行:
sudo systemctl start nginx
执行以下命令停止Nginx服务:
sudo systemctl stop nginx
启动、停止和重启 Nginx 使用 SysVinit
较旧(EOLed)版本的 Ubuntu、CentOS 和 Debian 使用 init.d 脚本来启动、停止和重新启动 Nginx 守护进程。
重启 Nginx 服务:
sudo service nginx restart
启动 Nginx 服务:
sudo service nginx start
停止 Nginx 服务:
sudo service nginx stop
结论
我们已经向您展示了如何在 Linux 系统上启动、停止和重新启动 Nginx Web 服务器。