Nginx发音为“enginex”,是一个免费、开源、高性能的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是最新的Ubuntu18.04/16.04、CentOS7/8和Debian10/9版本的系统和服务管理器。
每当您更改Nginx配置时,您都需要重新启动或重新加载网络服务器进程。执行以下命令重启Nginx服务:
sudosystemctlrestartnginx
添加或编辑服务器块时,更喜欢重新加载而不是重新启动。仅在进行重大修改(例如更改端口或接口)时才重新启动服务。在重新加载时,Nginx加载新配置,使用新配置启动新的工作进程,并优雅地关闭旧的工作进程。
运行以下命令以重新加载Nginx服务:
sudosystemctlrestartnginx
Nginx也可以直接用信号控制。例如,要重新加载服务,您可以使用以下命令:
sudo/usr/sbin/nginx-sreload
要启动Nginx服务,请执行:
sudosystemctlstartnginx
执行以下命令停止Nginx服务:
sudosystemctlstopnginx
启动、停止和重启Nginx使用SysVinit
较旧(EOLed)版本的Ubuntu、CentOS和Debian使用init.d脚本来启动、停止和重新启动Nginx守护进程。
重启Nginx服务:
sudoservicenginxrestart
启动Nginx服务:
sudoservicenginxstart
停止Nginx服务:
sudoservicenginxstop