使用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.d
mv 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM