CentOS 搭建 Nginx – wiki基地


在 CentOS 上搭建 Nginx:详细指南

Nginx(发音为 “engine-x”)是一款高性能的 HTTP 和反向代理服务器,也可以用作邮件代理服务器和通用 TCP/UDP 代理服务器。它以其卓越的性能、稳定性、丰富的功能集、简单的配置以及低资源消耗而闻名。本指南将详细介绍如何在 CentOS 系统上安装、配置并验证 Nginx。

准备工作

在开始安装 Nginx 之前,请确保您拥有以下条件:

  1. 一台运行 CentOS 系统的服务器(建议 CentOS 7 或更高版本)。
  2. 具有 sudo 权限的用户账户。
  3. 稳定的互联网连接。

步骤 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 也能正常工作。

  1. 启动 Nginx 服务:

    bash
    sudo systemctl start nginx

  2. 启用 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 是否已成功安装并正在运行。

  1. 检查 Nginx 服务状态:

    bash
    sudo systemctl status nginx

    如果 Nginx 正在成功运行,您应该会看到输出中包含 active (running) 的字样。

  2. 通过 Web 浏览器访问:

    打开您的 Web 浏览器,并在地址栏中输入您的 CentOS 服务器的 IP 地址(例如:http://your_server_ip)。如果一切配置正确,您应该能看到 Nginx 的默认欢迎页面,通常显示 “Welcome to Nginx!”。

    如果您不知道服务器的 IP 地址,可以使用以下命令获取:

    bash
    ip a

    查找您的网络接口(通常是 eth0enpXsX)下的 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 服务提供坚实的基础。


滚动至顶部