您好,登錄后才能下訂單哦!
1、 演示環境:
IP |
OS |
Nginx 版本 |
Rsync 版本 |
清華大學開源軟件鏡像站 |
192.168.1.146 |
CentOS 6.9 x86_64 |
1.10.2 |
3.0.6 |
https://mirrors.tuna.tsinghua.edu.cn/ |
備注:同步的上游 yum 源必須要支持 rsync 協議,否則不能使用 rsync 進行同步。國內的很多開源鏡像站都不支持 rsync ,這里以清華大學開源軟件鏡像站為例。
2、 安裝前準備:
(1) 服務器時間校對
(2) 配置 epel 源
3、 安裝配置 Nginx :
(1) 安裝 Nginx : # yum -y install nginx
(2) 創建軟件包存放目錄: # mkdir -pv /mirror/{centosplus,extras,os,updates,epel}
(3) 配置 Nginx :
# cd /etc/nginx/conf.d
# cp default.conf default.conf.bak
# vim default.conf
server {
listen 80;
server_name localhost;
root /mirror/;
location / {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
}
(4) 檢查 Nginx 配置文件語法,并啟動 Nginx : # nginx -t # service nginx start
(5) 檢查 Nginx 監聽的 80 端口: # ss -tnlp | grep :80 # pidof nginx
(6) 瀏覽器中訪問站點: 192.168.1.146
4、 同步清華大學開源軟件鏡像站:
(1) 安裝相關軟件包: # yum -y install rsync createrepo
(2) 查看每個源下的軟件包:
# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/centosplus/x86_64/Packages/
# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/extras/x86_64/Packages/
# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/os/x86_64/Packages/
# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/updates/x86_64/Packages/
# rsync -r --list-only rsync://mirrors.tuna.tsinghua.edu.cn/epel/6Server/x86_64/Packages/
(3) 編寫同步腳本:
# mkdir -pv /scripts
# vim /scripts/yum_rsync.sh
#!/bin/bash
/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/centosplus/x86_64/Packages/ /mirror/centosplus && /usr/bin/createrepo /mirror/centosplus
/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/extras/x86_64/Packages/ /mirror/extras && /usr/bin/createrepo /mirror/extras
/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/os/x86_64/Packages/ /mirror/os && /usr/bin/createrepo /mirror/os
/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/updates/x86_64/Packages/ /mirror/updates && /usr/bin/createrepo /mirror/updates
/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/epel/6Server/x86_64/Packages/ /mirror/epel && /usr/bin/createrepo /mirror/epel
# chmod +x /scripts/yum_rsync.sh
(4) 編寫定時任務:每天凌晨 12 點開始執行同步腳本
# crontab -e --> 0 0 * * * /scripts/yum_rsync.sh
備注:同步耗時較長,且保證磁盤有足夠大的容量
同步時可以通過 # top 命令查看 rsync 進程:
同步前目錄結構及磁盤容量:
同步后目錄結構及磁盤容量:
5、 其它服務器(例如: 192.168.1.145 )配置自建的 yum 源進行軟件包下載安裝測試:
(1) 創建 yum 源的 repo 配置文件:
# cd /etc/yum.repos.d
# mv CentOS-Base.repo CentOS-Base.repo.bak
# vim CentOS-Base.repo
[base]
name=Marion - CentOS-$releasever - Base
baseurl=http://192.168.1.146/os
enabled=1
gpgcheck=0
[centosplus]
name=Marion - CentOS-$releasever - Centosplus
baseurl=http://192.168.1.146/centosplus
enabled=1
gpgcheck=0
[extras]
name=Marion - CentOS-$releasever - Extras
baseurl=http://192.168.1.146/extras
enabled=1
gpgcheck=0
[updates]
name=Marion - CentOS-$releasever - Updates
baseurl=http://192.168.1.146/updates
enabled=1
gpgcheck=0
# vim epel.repo
[epel]
name=Marion - CentOS-$releasever - EPEL
baseurl=http://192.168.1.146/epel
enabled=1
gpgcheck=0
(2) 清除當前 yum 緩存: # yum clean all
(3) 重新生成 yum 緩存: # yum makecache
(4) 顯示可用的 yum 源: # yum repolist
(5) 測試 base 源: # yum -y install httpd # yum info httpd
(6) 測試 epel 源: # yum -y install nginx # yum info nginx
本文轉自Marion0728 51CTO博客,原文鏈接:http://blog.51cto.com/qiuyue/2052813 ,如需轉載請自行聯系原作者
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。