引言

Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于各种 Web 应用和 API 服务器。CentOS 8 是一个稳定且功能丰富的 Linux 发行版,适合作为服务器操作系统。本文将详细介绍如何在 CentOS 8 上安装 Nginx,并设置一个高效的服务器。

准备工作

在开始之前,请确保您的 CentOS 8 系统满足以下要求:

  • 系统已更新到最新版本。
  • 已配置好 root 用户或具有 sudo 权限的用户。

安装 Nginx

1. 添加 Nginx YUM 源

CentOS 软件源中默认可能没有最新版的 Nginx,因此推荐先添加官方 Nginx 的 YUM 源。

sudo nano /etc/yum.repos.d/nginx.repo

在文件中写入以下内容:

[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/8/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

保存并退出。

2. 安装 Nginx

现在可以通过 yum 命令安装 Nginx:

sudo yum install nginx

3. 启动 Nginx

安装完成后,启动 Nginx:

sudo systemctl start nginx

4. 设置开机自启动

设置 Nginx 在开机时自动启动:

sudo systemctl enable nginx

配置 Nginx

5. 验证 Nginx 配置

验证 Nginx 配置文件是否正常:

sudo nginx -t

如果出现 test is successful,则表示配置文件没有问题。

6. 访问 Nginx

在浏览器中访问服务器的 IP 地址或域名,如果看到 Nginx 的欢迎页面,则表示 Nginx 已正确安装。

高级配置

7. 配置反向代理

假设您想要将域名 example.com 的请求代理到另一个服务器 backend.example.com,编辑 /etc/nginx/nginx.conf 文件:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend.example.com;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

8. 开启 SSL

如果您需要使用 HTTPS,需要生成 SSL 证书。可以使用 Let’s Encrypt 免费证书,以下是一个简单的示例:

sudo certbot --nginx -d example.com

这将在 /etc/letsencrypt/live/example.com/ 目录下生成 SSL 证书和私钥。

总结

通过以上步骤,您已经在 CentOS 8 上成功安装并配置了 Nginx。Nginx 是一个强大的工具,可以用于构建高效的服务器。您可以根据需要进一步扩展和定制 Nginx 的功能。