在一些環境下,服務器不能連接互聯網,但是我們又偏偏需要安裝一些軟件,此時有點麻煩了。通過使用centos鏡像文件,搭建yum本地源,局域網內所有服務器都可以連接這一本地源進行軟件的下載和安裝,下面具體講解一下如何安裝本地yum源:
1. 反向代理服務器
使用nginx作為yum源的反向代理,下面是使用壓縮工具打開ISO鏡像文件圖片,由於需要上傳到服務器,我把這個從ISO解壓后的得到的文件進行了壓縮-yum.tar.gz

1.1 上傳到服務器
將鏡像文件上傳到代理服務器,解壓
scp yum.tar.gz root@IP:/root
tar -zxvf yum.tar.gz
或者直接掛載ISO鏡像文件到目錄
//首先創建目錄,作為鏡像文件的掛載點 mkdir /dac //然后將ISO文件掛載 #mount -o loop -t iso9660 /Centos.iso /dac
-o 是mount命令的一個參數,Options的首字母,后面跟着mount選項
loop:用來把一個文件當成硬盤分區mount到目錄
-t:指定檔案系統的型態,通常不必指定。mount 會自動選擇正確的型態。
1.2 修改yum源配置
vi /etc/yum.repos.d/rhel7.repo 做以下修改 [rhel-media] name=Red Hat Enterprise Linux 7.3 baseurl=file:///root/yum # 鏡像文件目錄 enabled=1 gpgcheck=0 gpgkey=file:///root/yum/RPM-GPG-KEY-redhat-release # 鏡像文件目錄下的文件
1.3 安裝nginx
1. 安裝依賴
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel openssl openssl-devel gcc
2. 編譯安裝
tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1 ./configure \ --prefix=/usr \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=root \ --group=root \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre make && make install
3. 配置nginx
vim /etc/nginx/nginx.conf location / { root /root/yum; autoindex on; }
4. nginx重新加載配置
nginx -s reload
5. yum client配置
其他有下載需求的服務器,需要作為client的角色,做以下配置去連接nginx
vi /etc/yum.repos.d/rhel7.repo [rhel-media] name=Red Hat Enterprise Linux 7.3 baseurl=http://172.31.10.1/ # 指向反向代理yum enabled=1 gpgcheck=0 gpgkey=http://172.31.10.1/RPM-GPG-KEY-redhat-release
此時,局域網內的服務器可以下載軟件了,並且速度也很快!
