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) 派生版本上,通常使用 yum 或 dnf 包管理器安装 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
现在,使用 yum 或 dnf 安装 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/。
此初始安装为您奠定了基础,您可以在此基础上构建高性能托管环境、负载均衡解决方案和安全代理设置。