内网通过nginx代理进行yum安装

前言

前几天在华为云上部署环境的时候,遇到个问题解决了,这里记录一下

有两台服务器

    服务器A:内网ip 192.168.0.98,可以访问外网,安装了nginx 服务器B:内网ip 192.168.0.146,不能访问外网

现在需要在服务器B上进行yum安装软件,但是安装失败,因为内网没有安装yum源,外网的yum源又访问不了,刚好服务器A上安装了nginx,于是想办法利用nginx做一个代理, 弄完后终于又可以愉快的使用yum了。

如何操作

在跳板机安装并配置nginx

具体安装nginx的过程就略过了,这里给出nginx相关配置,其作用就是将服务器B作为代理,访问外网的yum源

server{
       listen 16666;
       server_name  192.168.0.98;
       location /centos/ {
           proxy_pass http://mirrors.aliyun.com/centos/ ;
       }  
}

更改yum源

在B服务器上,备份原来的yum源

mkdir -p /etc/yum.repos.d/repo_bak/

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak/

设置新yum源

cd /etc/yum.repos.d && vim CentOS-Base-nginx.repo

具体配置如下,其中192.168.0.98:16666就是服务器B的ip及监听端口

[base]
name=CentOS-$releasever - Base - 192.168.0.98:16666
failovermethod=priority
baseurl=http://192.168.0.98:16666/centos/$releasever/os/$basearch/
http://192.168.0.98:16666/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://192.168.0.98:16666/centos/RPM-GPG-KEY-CentOS-7

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

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

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 192.168.0.98:16666
failovermethod=priority
baseurl=http://192.168.0.98:16666/centos/$releasever/centosplus/$basearch/
http://192.168.0.98:16666/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://192.168.0.98:16666/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - 192.168.0.98:16666
failovermethod=priority
baseurl=http://192.168.0.98:16666/centos/$releasever/contrib/$basearch/
http://192.168.0.98:16666/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://192.168.0.98:16666/centos/RPM-GPG-KEY-CentOS-7

清除原yum缓存

执行以下命令,清除原yum缓存。

yum clean all

生成缓存

执行以下命令,生成缓存。

yum makecache
经验分享 程序员 微信小程序 职场和发展