Nginx 安装指南:初学者分步教程

掌握高速 Web 服务器的初始设置!这份综合指南将带领初学者在 Debian/Ubuntu 和 CentOS/RHEL 系统上,精确地完成 Nginx 的分步安装。学习启动、停止和验证服务的基本命令,以及确保即时可访问性的关键防火墙配置。在几分钟内让您的 Nginx Web 服务器运行起来。

38 浏览量

Nginx 安装指南:初学者分步教程

欢迎来到高性能 Web 服务领域!Nginx(发音为“engine-x”)已成为提供静态内容、充当反向代理、负载均衡器和 HTTP 缓存的事实标准。对于初学者来说,正确完成初始安装是利用其速度和效率的关键第一步。

本指南提供了在最常见的 Linux 发行版(Debian/Ubuntu 和 CentOS/RHEL)上安装 Nginx 的清晰、可操作的分步说明。我们还将介绍必要的安装后验证步骤,以确保您的 Web 服务器正常运行并准备好处理流量。


先决条件

在开始安装过程之前,请确保您拥有:

  • 一台运行受支持的 Linux 发行版(Ubuntu/Debian 或 CentOS/RHEL)的服务器或虚拟机。
  • 一个具有 sudo 权限的非 root 用户,已配置用于管理任务。
  • 对 Linux 命令行界面 (CLI) 的基本熟悉。

在 Debian/Ubuntu 系统上安装

在基于 Debian 的系统上,Nginx 可以在默认软件包存储库中轻松获得。我们建议先更新软件包列表,以确保您获取到最新可用版本。

步骤 1:更新软件包列表

执行以下命令更新您的本地软件包索引:

sudo apt update

步骤 2:安装 Nginx

使用 apt install 命令下载并安装 Nginx 及其依赖项:

sudo apt install nginx

步骤 3:验证安装状态

安装完成后,服务通常会自动启动。您可以使用 systemctl 验证其状态:

sudo systemctl status nginx

您应该会看到指示服务为 active (running) 的输出。

在 CentOS/RHEL 系统上安装

在像 CentOS 或 Fedora 这样的 Red Hat Enterprise Linux (RHEL) 派生版本上,通常使用 yumdnf 包管理器安装 Nginx。由于 Nginx 可能不在默认的基础存储库中,因此通常建议从官方 EPEL(Extra Packages for Enterprise Linux)存储库安装以获取最新的稳定版本。

步骤 1:安装 EPEL 存储库

首先,安装 EPEL 存储库,其中包含许多标准存储库未包含的常用高质量软件包。

对于 CentOS/RHEL 7:

sudo yum install epel-release

对于 CentOS/RHEL 8/9(使用 DNF):

sudo dnf install epel-release

步骤 2:安装 Nginx

现在,使用 yumdnf 安装 Nginx:

# 使用 yum(旧系统)
sudo yum install nginx

# 或使用 dnf(新系统)
sudo dnf install nginx

步骤 3:启动并启用 Nginx 服务

与 Debian/Ubuntu 不同,Nginx 在 RHEL 系统上安装后可能不会自动启动。您必须手动启动它并启用它以在系统启动时运行:

# 立即启动服务
sudo systemctl start nginx

# 确保它在重启时启动
sudo systemctl enable nginx

# 检查状态
sudo systemctl status nginx

防火墙配置:允许 HTTP/HTTPS 流量

安装后的一个关键步骤是确保您的防火墙允许外部连接访问 Web 服务器。如果跳过此步骤,外部用户将无法看到您的网站。

使用 UFW(Uncomplicated Firewall - Ubuntu/Debian 常见)

Nginx 在安装过程中会向 UFW 注册特定的配置文件。我们建议打开端口 80(HTTP)和可选端口 443(HTTPS)。

# 列出可用的应用程序配置文件
sudo ufw app list

# 允许标准 Web 流量(HTTP/HTTPS)
sudo ufw allow 'Nginx Full'

# 重新加载防火墙以应用更改
sudo ufw reload

使用 Firewalld(CentOS/RHEL 常见)

Firewalld 使用区域来管理规则。我们通常将服务添加到 public 区域。

# 允许 HTTP 流量(端口 80)
sudo firewall-cmd --permanent --add-service=http

# 允许 HTTPS 流量(端口 443)
sudo firewall-cmd --permanent --add-service=https

# 重新加载防火墙规则
sudo firewall-cmd --reload

验证:确认 Nginx 正常运行

安装完成后并配置好防火墙后,您可以确认 Nginx 正在正确提供内容。

方法 1:Web 浏览器检查

打开您喜欢的 Web 浏览器,然后导航到您的服务器 IP 地址或域名:

http://YOUR_SERVER_IP_ADDRESS

如果成功,您应该会看到默认的 Nginx 欢迎页面,通常显示:“Welcome to nginx!

方法 2:命令行检查

使用 curl 命令直接从服务器的本地主机检索默认索引页面的内容:

curl http://localhost

此命令应返回欢迎页面的 HTML 源代码。

Essential Nginx 管理命令

安装后,您将经常使用 systemctl 来管理 Nginx 进程。以下是最常用的命令:

Action Command
启动服务器 sudo systemctl start nginx
停止服务器 sudo systemctl stop nginx
重启(先停止后启动) sudo systemctl restart nginx
重新加载(在不停机的情况下应用配置更改) sudo systemctl reload nginx
检查状态 sudo systemctl status nginx
禁用开机自启 sudo systemctl disable nginx

最佳实践提示:在对配置文件(例如 /etc/nginx/nginx.conf)进行更改时,请务必在重新加载之前测试语法。使用 sudo nginx -t 测试是否有错误。如果测试通过,则使用 sudo systemctl reload nginx 优雅地应用更改。

后续步骤:初始配置

恭喜,Nginx 已安装并运行!默认配置从 /var/www/html/index.nginx-debian.html(在 Debian/Ubuntu 上)或 /usr/share/nginx/html/index.html(在 CentOS/RHEL 上)提供内容。

您的下一步是创建一个服务器块(通常称为虚拟主机),以定义您的实际网站文件所在的位置以及 Nginx 应如何处理对您域名的请求。这些块的配置文件通常存储在 /etc/nginx/sites-available/ 中,并链接到 /etc/nginx/sites-enabled/

此初始安装为您奠定了基础,您可以在此基础上构建高性能托管环境、负载均衡解决方案和安全代理设置。