使用nginx代理centos yum 源

我们在安装centos 服务器时,可能会有以下情况:

  局域网内有若干台服务器,但是只有一台服务器可以连接外网,其余服务器都不可以连接外网,但通过局域网与外网机器联通。

那么我们再使用 yum 安装软件时,可以采用以下方式

  • 搭建本地 yum 源
  • 使用nginx 代理 yum 源

其中方法1比较复杂且一旦需要第三方数据源时,更麻烦,因此我们这里介绍使用方法2。

1. 在有外网的服务器上安装 nginx

  安装 epel 源

yum -y install epel-release

  安装 nginx

yum -y install nginx

  

2. 配置nginx 代理 yum 源

  新增 nginx 配置文件

vim /etc/nginx/conf.d/centos-7-yum.conf

  输入以下内容,这里添加了一些常用的yum源,如果需要其他yum源可以自行添加

    # centos 7 yum local source
    server {
        listen       7000;
        server_name  192.168.251.148;

        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Headers X-Requested-With;
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location /centos/ {
            proxy_pass http://mirrors.aliyun.com/centos/;
        }

        location /epel/ {
            proxy_pass http://mirrors.aliyun.com/epel/;
        }

	location /mariadb/ {
            proxy_pass http://mirrors.ustc.edu.cn/mariadb/;
        }

    }

  检查nginx 配置,并重载nginx配置

nginx -t
nginx -s reload

  

3. 在没有外网的服务器上面配置 yum 源

  备份以前的yum 源配置文件

cd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.bak

  根据上方代理的 yum 源,创建如下配置文件,注意将ip 192.168.1.100 换成对应的有外网服务器的局域网ip

  CentOS-Base-nginx.repo

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://192.168.251.148:7000/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://192.168.251.148:7000/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://192.168.251.148:7000/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://192.168.251.148:7000/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://192.168.251.148:7000/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://192.168.251.148:7000/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://192.168.251.148:7000/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://192.168.251.148:7000/centos/RPM-GPG-KEY-CentOS-7

  epel-nginx.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://192.168.251.148:7000/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://192.168.251.148:7000/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://192.168.251.148:7000/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

  MariaDB-nginx.repo

# MariaDB 10.2 CentOS repository list - created 2017-07-03 06:59 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://192.168.251.148:7000/mariadb/yum/10.3/centos7-amd64
gpgkey=http://192.168.251.148:7000/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

  刷新 yum 源

yum clean all
yum makecache

原文地址:https://www.cnblogs.com/dizhiyaochang/p/10824681.html

时间: 2024-08-01 23:18:52

使用nginx代理centos yum 源的相关文章

用Nginx官网YUM源来安装Nginx

第一种方法比较简单,就是采用nginx官方的yum源, 我们用cat命查看nginx.repo文件,命令如下所示 cat /etc/yum.repos.d/nginx.repo nginx.repo文件内容如下: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 第二种方式就是通过createrepo自建自己的YUM源,这种方式更

RedHat 更换centos yum源

1 删除rhel自带的yum包: rpm -aq | grep yum |xargs rpm -e --nodeps 2 安装yum: [china~/yum_64#]rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm warning:python-iniparse-0.3.1-2.1.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, keyID c105b9de: NOKEY Preparing...

CentOS yum源设定使用方法的整理(转)

CentOS yum更新了很多版本更新,我本人认为CentOS yum很好使的文件系统,在此向大家推荐CentOS应该是做为服务器的linux的佼佼者.CentOS采用的二进制包是rpm,不过包的依赖性解决有时候却是个问题. 我比较喜欢debian的apt,非常方便.以前以为RedHat linux没这么方便,后来发现CentOS yum是个不错的东西.CentOS yum的使用和apt有几分相似,这样一来对于许多包的安装就方便多了. 这篇文章主要讲两点内容,一是CentOS yum使用方法的整

用rsync同步公网centos yum源做本地yum源服务器

1,安装httpd,rsync,vsftpd yum -y install httpd rsync vsftpd mkdir /var/www/html/centos #由于vsftpd不支持软连接改变目录,所以下面操作效果一样 mount --bind /var/www/html/centos /var/ftp/pub chkconfig httpd on chkconfig vsftpd on service httpd start service vsftpd start 2,rsync同

centos yum源配置 与yum配置文件

参考博客 http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html 1.centos . yum配置文件在目录 /etc/yum.repos.d目录下 yum主要是自动化的升级 安装 和卸载 rpm软件包 David Camp 博客园 首页 新随笔 联系 订阅 管理 随笔-115  文章-0  评论-667 CentOS yum 源的配置与使用 一.yum 简介 yum,是Yellow dog Updater, Modified

RHEL 6.5 X86_64配置CentOS yum源

RHEL 6.5 X86_64配置CentOS yum源 1.背景说明 刀片服务器GEN9无法通过引导方式安装CentOS,只能进行RHEL的安装.而RHEL上的yum源只能注册账户才能使用,故需要进行yum源替换 2.步骤 1.删除rhel自带的yum源 rpm -qa|grep yum|xargs rpm -e --nodeps rpm -qa |grep yum 2.下载新的yum安装包 wget http://mirrors.163.com/centos/6/os/x86_64/Pack

rhel5.x&rhel6.x更换CentOS yum源

最近接触的系统多数为rhel,rhel自带的yum又不能联网安装,于是写了个一键安装的脚本,支持rhel5.x&rhel6.x,选用的是网易的源. #!/bin/sh #author by thundermeng . /etc/init.d/functions bit=`getconf LONG_BIT` release=`sed -r -n 's/(.*) ([[:digit:]])\.([[:digit:]]) (.*)/\2/p' /etc/redhat-release` if [ $UI

解决centos yum源配置出现Couldn't resolve host 问题

http://mirrors.163.com/centos/6/os/i386/repodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.163.com'" Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify i

CentOS配置Nginx官方的Yum源

由于yum源中没有我们想要的nginx,那么我们就需要创建一个"/etc/yum.repos.d/nginx.repo"的文件,其实就是新增一个yum源. [[email protected]~]# vim /etc/yum.repos.d/nginx.repo 然后将下面的内容复制进去: [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enab