如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

 

介绍

Nginx 是一个强大的服务器应用程序,用于路由网络流量。它通常用作反向代理服务器,但也可以配置为常规 Web 服务器。

您将遇到的最常见的操作之一是启动、停止和重新启动 Nginx Web 服务器。

 

在本教程中,学习如何启动、停止和重启 Nginx 服务。

如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx
如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

先决条件

  • 安装并配置了 Nginx 的系统
  • 访问终端窗口或命令行
  • 具有 sudo 或 root 权限的用户帐户
  • 与远程系统的现有 SSH 连接(如果您正在远程工作)

 

使用 systemctl 启动、停止和重启 Nginx

 

如何查看 Nginx 服务器的状态

Nginx 在您的服务器上作为服务运行。这意味着它应该在后台主动运行,即使您在屏幕上看不到任何内容。您可以通过在终端窗口中输入以下命令来显示 Nginx 服务的状态:

sudo systemctl status nginx

系统会切换到状态模式,显示很多关于 Nginx 服务的信息。

  • 如果服务正在运行(活动),您将在第三行看到绿色的活动(运行)状态。
  • 如果 Nginx 没有运行,它将以标准白色显示 为非活动 。
  • 如果出现问题并且 Nginx 无法加载,您将看到红色状态 failed,其中包含有关失败的一些信息。

如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx
如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

q重新激活bash 提示符。

SystemD 是现代版本的Linux 发行版(Ubuntu 20.04/18.04/16.04、CentOS 7/7 和Debian 9/10 上的默认服务管理器。SystemD 管理器通过systemctl命令运行。

systemctl命令是基本 Linux 命令。这意味着它可以用于任何 Linux 服务。

 

停止和启动 Nginx

systemctl可用于启动和停止 Nginx 服务。

要停止 Nginx,请运行以下命令:

sudo systemctl stop nginx

如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx
如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

 

要启动 Nginx,请使用以下选项执行systemctl命令:start

sudo systemctl start nginx

如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx
如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

 

如何重启 Nginx

优雅重启 Nginx

如果您在更改配置后刷新 Nginx,最好优雅地重新加载服务。这将关闭旧进程并使用新配置重新启动新进程。

使用systemctlLinux 命令重新加载 Nginx 服务。运行以下命令:

sudo systemctl reload nginx

注意:如果 Nginx 服务未激活,则无法重新加载 Nginx。

 

强制重启 Nginx

对于重大配置更改,您可以强制完全重启 Nginx。这将强制关闭整个服务和子进程,并重新启动整个包。

输入以下命令:

sudo systemctl restart nginx

 

重启与重新加载 Nginx

reload命令使 Nginx 服务器在重新加载更新的配置文件时保持运行。如果 Nginx 在任何配置文件中发现语法错误,则重新加载将中止,并且服务器会根据旧配置文件继续运行。重新加载比重新启动 Nginx 更安全。

restart命令将关闭服务器,包括所有相关服务,然后重新打开电源。仅在进行重大配置更新时重新启动 Nginx,例如更改端口或接口。该命令将强制关闭所有工作进程。

 

将 Nginx 配置为在启动时启动

使用该enable选项和systemctl 命令来启用 Nginx:

sudo systemctl enable nginx

 

使用该disable 选项与systemctl 命令禁用 Nginx:

sudo systemctl disable nginx

 

使用 Nginx 命令启动、停止和重新加载 Nginx

Nginx 有一组内置工具用于管理可以使用 Nginx 命令访问的服务。

 

Nginx 启动

要启动 Nginx 和相关进程,请输入以下内容:

sudo /etc/init.d/nginx start

 

如果运行成功,终端输出将显示如下:

Output
[ ok ] Starting nginx (via systemctl): nginx.service.

 

Nginx 重启

强制关闭并重启 Nginx 及相关进程:

sudo /etc/init.d/nginx restart

如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx
如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

作为替代方案,请使用以下nginx -s命令:

sudo nginx -s restart

 

Nginx 停止

要禁用或停止 Nginx 服务,请输入以下内容:

sudo /etc/init.d/nginx stop

如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx
如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

或者,使用:

sudo nginx -s stop

 

Nginx 重新加载

要优雅地停止和重启 Nginx 及相关进程,请使用以下命令:

sudo /etc/init.d/nginx reload

如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx
如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

或者,您可以使用该nginx -s命令将指令直接传递给 Nginx:

sudo nginx -s reload

 

Nginx 退出

quit使用带有命令的指令强制关闭 Nginx 服务nginx -s

sudo nginx -s quit

 

结论

本文概述了在您的服务器上启动、停止和重新启动 Nginx 的几种方法。在管理 Nginx Web 服务器时,使用这些命令进行最常见的操作。

 

 

本文:如何启动、停止和重启 Nginx, How to Start, Stop, and Restart Nginx (systemctl & Nginx Commands), systemctl, 命令行重启Nginx

Loading

Add a Comment

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.