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
启动,停止和重新启动Nginx
SystemD
是最新的Ubuntu 18.04/16.04
,CentOS 7/8
和Debian 10/9
发行版的系统和服务管理器。
每当您对Nginx配置进行更改时,都需要重新启动或重新加载Web服务器进程。执行以下命令重新启动Nginx服务:
sudo systemctl restart nginx
添加或编辑server
配置文件代码片段时,与restart相比,更倾向于reload
。仅当进行重大修改(例如更改端口或接口)时,才重新启动服务。在reload时,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
较早的(EOLed)版本的Ubuntu,CentOS和Debian使用init.d
脚本来启动,停止和重新启动Nginx守护程序。
重新启动Nginx服务:
sudo service nginx restart
启动Nginx服务:
sudo service nginx start
停止Nginx服务:
sudo service nginx stop
四、通过nginx信号直接控制
1.启动
sudo /usr/sbin/nginx -s start
2.重启
sudo /usr/sbin/nginx -s reload
结论
在本指南中,我们向您展示了如何在Linux系统上启动,停止和重新启动Nginx Web服务器。
参考文章: