在 CentOS 上搭建 Nginx:详细指南
Nginx(发音为 “engine-x”)是一款高性能的 HTTP 和反向代理服务器,也可以用作邮件代理服务器和通用 TCP/UDP 代理服务器。它以其卓越的性能、稳定性、丰富的功能集、简单的配置以及低资源消耗而闻名。本指南将详细介绍如何在 CentOS 系统上安装、配置并验证 Nginx。
准备工作
在开始安装 Nginx 之前,请确保您拥有以下条件:
- 一台运行 CentOS 系统的服务器(建议 CentOS 7 或更高版本)。
- 具有
sudo权限的用户账户。 - 稳定的互联网连接。
步骤 1:安装 EPEL 仓库
Nginx 通常不包含在 CentOS 官方的默认软件仓库中。它通常在 EPEL (Extra Packages for Enterprise Linux) 仓库中提供。因此,第一步是安装 EPEL 仓库。
打开终端并执行以下命令:
bash
sudo yum install epel-release -y
-y 选项会自动确认安装过程中的所有提示,无需手动输入 yes。
步骤 2:安装 Nginx
成功安装 EPEL 仓库后,您现在可以使用 yum 包管理器来安装 Nginx。
在终端中执行以下命令:
bash
sudo yum install nginx -y
系统将下载并安装 Nginx 及其所有必要的依赖项。
步骤 3:启动并启用 Nginx 服务
Nginx 安装完成后,它不会自动启动。您需要手动启动 Nginx 服务,并将其配置为在系统启动时自动运行,以确保在服务器重启后 Nginx 也能正常工作。
-
启动 Nginx 服务:
bash
sudo systemctl start nginx -
启用 Nginx 服务(设置开机自启):
bash
sudo systemctl enable nginx
步骤 4:配置防火墙
如果您的 CentOS 系统启用了 firewalld(CentOS 7 及更高版本的默认防火墙管理工具),您需要允许 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
--permanent:使防火墙规则永久生效,即使系统重启也不会失效。--zone=public:将规则应用于公共区域。--add-service=http:允许 HTTP 服务的默认端口(80)。--add-service=https:允许 HTTPS 服务的默认端口(443)。--reload:重新加载防火墙配置,使更改立即生效。
步骤 5:验证 Nginx 安装
在完成上述步骤后,您应该验证 Nginx 是否已成功安装并正在运行。
-
检查 Nginx 服务状态:
bash
sudo systemctl status nginx如果 Nginx 正在成功运行,您应该会看到输出中包含
active (running)的字样。 -
通过 Web 浏览器访问:
打开您的 Web 浏览器,并在地址栏中输入您的 CentOS 服务器的 IP 地址(例如:
http://your_server_ip)。如果一切配置正确,您应该能看到 Nginx 的默认欢迎页面,通常显示 “Welcome to Nginx!”。如果您不知道服务器的 IP 地址,可以使用以下命令获取:
bash
ip a查找您的网络接口(通常是
eth0或enpXsX)下的inet地址。
Nginx 基本配置(可选)
Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf。您可以在这里调整全局设置。
虚拟主机(Virtual Host)的配置文件通常位于 /etc/nginx/conf.d/ 目录下,以 .conf 结尾的文件。例如,您可以创建一个名为 your_domain.conf 的文件:
“`nginx
/etc/nginx/conf.d/your_domain.conf
server {
listen 80;
server_name your_domain.com www.your_domain.com; # 替换为您的域名或IP地址
root /usr/share/nginx/html; # 您的网站文件根目录
location / {
index index.html index.htm;
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
sudo nginx -t:测试 Nginx 配置文件的语法是否正确。sudo systemctl reload nginx:在不中断现有连接的情况下重新加载 Nginx 配置。
总结
通过遵循以上步骤,您已经在 CentOS 系统上成功安装并配置了 Nginx 服务器。您现在可以开始部署您的网站、配置反向代理或根据您的需求进一步自定义 Nginx 设置。Nginx 强大的功能和高效的性能将为您的 Web 服务提供坚实的基础。