CentOS 安装 Nginx 提示:"No package nginx available."


根据 Nginx 官方文档《Linux 软件包安装》在 CentOS 7 上安装 Nginx 步骤如下:

  1. 安装必备组件:

    1
    sudo yum install yum-utils
  2. 设置 yum 存储库

    /etc/yum.repos.d/nginx.repo
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true

    [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
  3. 安装 nginx

    1
    sudo yum install nginx

在第 3 步安装 nginx 时出现了No package nginx available.,通过 yum list |grep nginx 命令查看 nginx 相关的软件包,发现并没有 nginx.x86_64 软件包:

这个时候,如果是在开发或测试环境可以直接选择安装 nginx-debug.x86_64 软件包,如果是在生产环境则需要通过 RPM 包或源码安装。

nginx-debug.x86_64 是一个针对 x86_64 架构系统的 Nginx 调试版本。与标准的 Nginx 相比,调试版本包含了更多的调试信息和工具,旨在帮助开发者和系统管理员诊断问题、跟踪错误以及更好地理解 Nginx 的内部运行机制。

当您在开发和测试环境中遇到 Nginx 的问题时,使用 nginx-debug.x86_64 可以提供更多的上下文和详细信息,从而更容易找到问题的根源。这个调试版本通常包含了额外的日志记录、断言检查和其他调试功能,这些功能在标准的 Nginx 版本中可能不可用或受到限制。

需要注意的是,由于调试版本通常包含了更多的功能和信息,它的性能可能会略低于标准版本。因此,在生产环境中,通常会推荐使用标准的 Nginx 版本,而在开发和测试环境中,nginx-debug.x86_64 可能会非常有用。

RPM 包安装

  1. 下载 Nginx 的 RPM 包
1
wget https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.22.1-1.el7.ngx.x86_64.rpm

可以通过 https://nginx.org/packages/centos 链接查看你需要安装 Nginx 版本的 RPM 包下载地址,如果是 CentOS7 x86 平台,则访问链接为:https://nginx.org/packages/centos/7/x86_64/RPMS

  1. 安装 Nginx 的 RPM 包
1
sudo rpm -ivh nginx-1.22.1-1.el7.ngx.x86_64

其中 -i 表示安装,-v 表示详细输出,-h 显示安装进度。

注:如果安装失败,提示 libpcre2-8.so.0()(64bit) is needed by nginx-1:1.22.1-1.el7.ngx.x86_64 之类的,那么需要安装/升级依赖库或升级操作系统或重新选择一个较旧的 Nginx 版本。

  1. 启动 Nginx 服务
1
sudo systemctl start nginx
  1. 验证安装
1
sudo systemctl status nginx
  1. 设置自动启动
1
sudo systemctl enable nginx