CentOS Nginx 安装教程
Nginx(发音为 “engine-x”)是一个免费、开源、高性能的 HTTP 服务器和反向代理服务器,也可以用作邮件代理服务器和通用 TCP/UDP 代理服务器。它以其高性能、稳定性、丰富的功能集、简单的配置以及低资源消耗而闻名。本教程将详细介绍如何在 CentOS 7 和 CentOS 8 系统上安装和配置 Nginx。
前提条件
在开始之前,请确保您具备以下条件:
- 一台运行 CentOS 7 或 CentOS 8 的服务器。
- 拥有
root权限或具有sudo权限的用户账户。 - 稳定的互联网连接。
CentOS 7 上安装 Nginx
CentOS 7 默认仓库中不包含 Nginx,因此我们需要添加 EPEL (Extra Packages for Enterprise Linux) 仓库。
步骤 1:更新系统包
在安装任何新软件之前,建议更新系统上的现有包,以确保所有软件包都是最新版本。
bash
sudo yum update -y
步骤 2:添加 EPEL 仓库
EPEL 仓库提供了许多企业版 Linux 不包含的额外软件包,其中就包括 Nginx。
bash
sudo yum install epel-release -y
步骤 3:安装 Nginx
EPEL 仓库添加完成后,您就可以使用 yum 命令安装 Nginx 了。
bash
sudo yum install nginx -y
步骤 4:配置防火墙
CentOS 7 默认使用 firewalld 作为防火墙。您需要配置防火墙以允许 HTTP (80 端口) 和 HTTPS (443 端口) 流量通过,以便外部用户可以访问您的 Nginx 服务器。
bash
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
要验证服务是否已成功添加,可以运行:
bash
sudo firewall-cmd --list-all
步骤 5:管理 Nginx 服务
安装完成后,您可以使用 systemctl 命令来管理 Nginx 服务。
- 启动 Nginx 服务:
bash
sudo systemctl start nginx - 设置 Nginx 开机自启:
bash
sudo systemctl enable nginx - 检查 Nginx 状态:
bash
sudo systemctl status nginx - 停止 Nginx 服务:
bash
sudo systemctl stop nginx - 重启 Nginx 服务:
bash
sudo systemctl restart nginx - 重新加载 Nginx 配置(在修改配置文件后使用,无需停止服务):
bash
sudo systemctl reload nginx
CentOS 8 上安装 Nginx
CentOS 8 已经将 Nginx 包含在其默认仓库中,因此安装过程相对简单。
步骤 1:更新系统包
同样,首先更新您的系统包。
bash
sudo dnf update -y
步骤 2:安装 Nginx
在 CentOS 8 上,您可以使用 dnf 命令直接安装 Nginx。
bash
sudo dnf install nginx -y
步骤 3:配置防火墙
CentOS 8 也使用 firewalld。配置防火墙以允许 HTTP (80 端口) 和 HTTPS (443 端口) 流量。
bash
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
要验证服务是否已成功添加,可以运行:
bash
sudo firewall-cmd --list-all
步骤 4:管理 Nginx 服务
使用 systemctl 命令管理 Nginx 服务,与 CentOS 7 类似。
- 启动 Nginx 服务:
bash
sudo systemctl start nginx - 设置 Nginx 开机自启:
bash
sudo systemctl enable nginx - 检查 Nginx 状态:
bash
sudo systemctl status nginx - 停止 Nginx 服务:
bash
sudo systemctl stop nginx - 重启 Nginx 服务:
bash
sudo systemctl restart nginx - 重新加载 Nginx 配置(在修改配置文件后使用,无需停止服务):
bash
sudo systemctl reload nginx
验证 Nginx 安装
无论您是在 CentOS 7 还是 CentOS 8 上安装 Nginx,都可以通过以下方式验证其是否正常运行:
-
检查服务状态:
bash
sudo systemctl status nginx
如果 Nginx 正在运行,您会看到 “active (running)” 字样。 -
通过浏览器访问:
在您的服务器上打开网页浏览器,或在本地计算机上访问您的服务器的 IP 地址或域名。例如,如果您服务器的 IP 地址是192.168.1.100,则在浏览器中输入http://192.168.1.100。
您应该会看到 Nginx 的默认欢迎页面,这表明 Nginx 已成功安装并正在运行。如果您不知道服务器的 IP 地址,可以使用以下命令查询:
bash
ip addr show
基本 Nginx 配置 (可选)
Nginx 的主配置文件位于 /etc/nginx/nginx.conf。您可以在 /etc/nginx/conf.d/ 目录下创建自己的配置文件(通常以 .conf 结尾)来定义虚拟主机(server blocks)。
一个简单的虚拟主机配置示例 (/etc/nginx/conf.d/your_site.conf):
“`nginx
server {
listen 80;
server_name your_domain.com www.your_domain.com; # 替换为您的域名或IP
root /usr/share/nginx/html; # 您的网站文件存放路径
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
“`
在修改配置文件后,请务必检查配置文件的语法是否正确,并重新加载 Nginx 服务:
bash
sudo nginx -t
sudo systemctl reload nginx
总结
通过遵循本教程的步骤,您应该已成功在您的 CentOS 7 或 CentOS 8 服务器上安装并启动了 Nginx。现在,您可以开始部署您的网站或使用 Nginx 作为反向代理来管理您的应用程序。
希望这篇文章能帮助您!