# 解决centos yum安装”No package nginx available.”问题

- Link: https://yjyj.net/learn/centos/5868.html
- Published: 2017-09-11T15:32:31+08:00
- Author: 小 虾

⚡ 生猛大蝦编辑部 · 30 秒核心看点

 * nginx 不在 CentOS 官方 yum 源里，直接装会报“No package nginx available.”
 * 先装 EPEL 扩展源，再检查 yum repolist，问题通常就能解决
 * 卸载也简单，直接移除 epel-release 即可，适合临时或容器环境排障

docker下的centos问题真是多
 nginx都装不了~ 不过问题还是要解决一下。

**问题原因：**
 nginx位于第三方的yum源里面，而不在centos官方yum源里面

**解决方法：**
 安装epel(Extra Packages for Enterprise Linux)

_**简介**_
 EPEL是企业版 Linux 附加软件包的简称，EPEL是一个由Fedora特别兴趣小组创建、
维护并管理的，针对 红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS、Scientific 
Linux、Oracle Enterprise Linux)的一个高质量附加软件包项目。 EPEL 的软件包通常不会
与企业版 Linux 官方源中的软件包发生冲突，或者互相替换文件。EPEL 项目与 Fedora 基本
一致，包含完整的构建系统、升级管理器、镜像管理器等等。 附EPEL官网:http://fedoraproject.
org/wiki/EPEL/zh-cn

**下载并安装EPEL**

    ```decode:true
    wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    rpm -ivh epel-release-latest-7.noarch.rpm
    yum repolist      ##检查是否已添加至源列表
    ```

**如何卸载EPEL**

    ```decode:true
    rpm -e epel-release
    ```

感谢：
 https://my.oschina.net/zk875/blog/823677

❓ 延伸问答与排错指南（FAQ）

CentOS 安装 nginx 提示 No package nginx available 怎么办？

这通常不是 nginx 本身坏了，而是当前 yum 源里没有这个包。解决办法是先安装 EPEL 扩展
源，添加后再执行 yum 安装 nginx；安装前可用 yum repolist 确认源已生效。

为什么 CentOS 官方源里找不到 nginx？

因为 nginx 属于第三方 yum 源中的软件包，不在 CentOS 官方源默认列表里。文章给出的
处理方式是启用 EPEL，它是面向 RHEL 及其衍生版的附加软件包源，适合补齐这类常用软件。

EPEL 安装后怎么确认是否成功？

安装完 epel-release 后，执行 yum repolist 查看源列表里是否出现 EPEL 相关条目。如果
能看到，说明源已添加成功；随后再执行 nginx 的 yum 安装命令即可。

📚 【[CentOS 学习](https://yjyj.net/category/learn/centos)】专栏延伸阅读与热门精选（
[全站文章归档](https://yjyj.net/archive)）：

 * [常用docker命令记录](https://yjyj.net/learn/centos/5855.html)
 * [最近又折腾amh-AMH面板操作命令](https://yjyj.net/learn/centos/5552.html)
 * [docker 下安装宝塔面板酷酷哒](https://yjyj.net/learn/centos/5872.html)
 * [给EC2设置并启用root账户](https://yjyj.net/learn/centos/5971.html)
 * 热门必读[CSS 盒模型边界重叠 (Margin Collapse) 原理与解决方案](https://yjyj.net/css/3536.html)
 * 热门必读[css布局实例](https://yjyj.net/learn/3901.html)
