启动和重启 Nginx

以下是启动、停止、重启或重新加载 Nginx 的一些基本操作命令的列表。

启动 Nginx:

可以从命令行启动 Nginx:

$ sudo systemctl start nginx

此命令不产生任何输出。

如果您使用的是没有 systemd 的 Linux 发行版(低于 Redhat 7 的版本),那么要启动 Nginx,请键入以下命令:

$ sudo service start nginx

或者从源码编译安装的 nginx 启动命令:

$ sudo nginx -s start

或者对于较旧的 Ubuntu Linux 版本:

sudo /etc/init.d/nginx start

启用 Nginx 服务:

上述命令仅本次启动 Nginx 有效。每次重新启动系统后需要再次手动启动 Nginx。

建议在系统启动时自动启动 Nginx 服务,而不是手动启动 Nginx 服务。要启用 Nginx 服务,请使用以下命令:

$ sudo systemctl enable nginx

或者,如果您使用的是没有 systemd 的 Linux 发行版,则使用以下命令:

$ sudo service nginx enable

停止 Nginx

即使有打开的连接,停止 Nginx 也会直接关闭所有 Nginx 工作进程。我们可以通过两种方式停止 Nginx 进程。

第一种停止 Nginx 方法是使用 stop 命令调用 Nginx。使用以下命令之一停止 Nginx:

$ sudo systemctl stop nginx

或者,如果您使用的是没有 systemd 的 Linux 发行版,则使用以下命令:

$ sudo service stop nginx

或者从源码编译安装的 nginx 停止命令:

$ sudo nginx -s stop

或者对于较旧的 Ubuntu Linux 版本:

$ sudo /etc/init.d/nginx stop

第二种停止 Nginx 的方法是向 Nginx 主进程发送信号。默认情况下,Nginx 将其主进程 ID 存储到 /var/run/nginx.pid

这是向 Nginx 主进程发送 QUIT(正常关机)信号的命令:

$ kill -QUIT $( cat /var/run/nginx.pid )

重启 Nginx

重启选项是停止然后启动 Nginx 服务器的快速操作。

使用以下命令之一重新启动 Nginx:

$ sudo systemctl restart nginx

或者,如果您使用的是没有 systemd 的 Linux 发行版,则使用以下命令:

$ sudo service restart nginx

或者对于较旧的 Ubuntu Linux 版本:

sudo /etc/init.d/nginx restart

重新加载 Nginx

每当我们更改其配置时,我们都需要重新启动或重新加载 Nginx。

重新加载选项将加载新配置,使用新配置启动新的工作进程并优雅地关闭旧的工作进程。

要重新加载 Nginx,请键入以下命令之一:

$ sudo systemctl reload nginx

或者,如果您使用的是没有 systemd 的 Linux 发行版,则使用以下命令:

$ sudo service reload nginx

或者从源码编译安装的 nginx 重载命令:

$ sudo nginx -s reload

测试 Nginx 配置

每当我们对 Nginx 服务器的配置文件进行更改或编辑时,最好在重新启动或重新加载服务之前测试配置。

使用以下命令测试 Nginx 配置是否存在任何语法或系统错误:

$ sudo nginx -t

两者的输出将如下所示:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果有任何错误,这些命令将打印详细消息。