安装Nginx遇Yum源404错误,请求排查及替代方案
问题描述
按照Nginx官方安装指南操作时,始终出现404错误:
http://nginx.org/packages/mainline/centos/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
当前/etc/yum.repos.d/nginx.repo文件内容:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0
切换到CentOS 6系统后问题依旧,未在Nginx邮件列表中找到源故障相关通知,询问是否需要改用源码编译作为替代方案。
排查与解决建议
- 替换源协议为HTTPS:将repo文件中的
baseurl改为https://nginx.org/packages/mainline/centos/7/$basearch/,多数官方源已逐步禁用HTTP访问,改用HTTPS可避免重定向或访问限制导致的404。 - 验证系统架构匹配性:执行
uname -m确认系统架构,若为非x86_64架构(如aarch64),需检查Nginx官方源是否提供对应架构的包,若未提供则会出现404。 - 清理并重建yum缓存:执行以下命令清除旧缓存并重新生成:
yum clean all && yum makecache - 尝试稳定版源:若mainline分支源存在异常,可切换至stable分支,修改
baseurl为https://nginx.org/packages/centos/7/$basearch/(移除路径中的mainline)。
关于源码编译的建议
若上述方法均无法解决问题,可选择源码编译作为替代方案,核心步骤如下:
- 安装编译依赖:
yum install -y gcc pcre-devel zlib-devel openssl-devel - 下载Nginx源码包(可选择mainline或stable版本),解压后进入源码目录。
- 执行配置命令(可按需添加模块参数):
./configure --prefix=/usr/local/nginx - 编译并安装:
make && make install
内容的提问来源于stack exchange,提问作者grayaii
相关产品推荐
相关产品推荐

