搭建CentOS在线yum源镜像服务器

一、安装http服务器

这里使用Nginx服务器提供http服务,关于Nginx服务器搭建过程,参考官方网站:http://www.nginx.cn/install

二、系统约定

Nginx站点根目录:/usr/local/nginx/html

服务器执行脚本文件存放目录:/mpeg/mirrors/crontab

三、开始Nginx目录浏览功能(Nginx默认是不允许列出整个目录的)

打开nginx.conf文件,在location server 或 http段中加入

#vi /usr/local/nginx/conf/nginx.conf
server {  
         listen 80;  
         charset utf-8;   
  
         server_name localhost;   
         root /www/web/default;   
  
         location / {   
                  autoindex on;  #开启nginx目录浏览功能
                   autoindex_exact_size off;  #文件大小从KB开始显示,默认是byte
                   autoindex_localtime on;  #显示文件修改时间为服务器本地时间,默认是GMT时间 
         }  
} 
:wq! #保存,退出
./nginx –s reload #重新加载配置

四、创建镜像文件存放目录

#cd /usr/local/nginx/html/

mkdir -p /mpeg/mirrors/centos #CentOS官方标准源
ln -s /mpeg/mirrors/centos centos

mkdir -p /mpeg/mirrors/repoforge #第三方rpmforge源
ln -s /mpeg/mirrors/repoforge repoforge

mkdir -p /mpeg/mirrors/epel #第三方epel源
ln -s /mpeg/mirrors/epel epel

说明:这里创建三个文件夹,分别存放CentOS官方标准源、第三方的rpmforge源和epel源

五、三个yum源上游源的同步镜像地址

1、CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/
2、rpmforge源:rsync://mirrors.ispros.com.bd/repoforge/
3、epel源:rsync://mirrors.ustc.edu.cn/epel/

备注:上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。
参考:
CentOS官方标准源:
rsync://mirrors.kernel.org/centos
rpmforge源:
http://apt.sw.be/
rsync://ftp-stud.fht-esslingen.de/dag
epel源:
http://mirrors.fedoraproject.org/publiclist/EPEL/
rsync://mirrors.kernel.org/fedora-epel

六、创建以上三个yum源同步脚本,并且设定脚本自动执行

#!/bin/sh
#vim /mpeg/mirrors/crontab/yum_rsync.sh

/usr/bin/rsync -avrt rsync://mirrors.ustc.edu.cn/centos/ --exclude-from=/usr/local/nginx/html/exclude_centos.list /usr/local/nginx/html/centos/
#/usr/bin/rsync -avrt rsync://mirrors.ispros.com.bd/repoforge/ --exclude-from=/usr/local/nginx/html/exclude_repoforge.list /usr/local/nginx/html/repoforge/
/usr/bin/rsync -avrt rsync://mirrors.ustc.edu.cn/epel/ --exclude-from=/usr/local/nginx/html/exclude_epel.list /usr/local/nginx/html/epel/

备注:运行此脚本前,先要创建好同步目录及不需要同步的目录列表文件

cd /usr/local/nginx/html/   #进入目录
touch exclude_centos.list   #创建文件
touch exclude_repoforge.list   #创建文件
touch exclude_epel.list   #创建文件
#把不需要同步的目录写到上面对应的文件中,每行一个目录,例如:
vi exclude_epel.list
4/
4AS/
4ES/
4WS/
:wq! #保存退出
posted @ 2018-09-19 12:19  snailshadow  阅读(3104)  评论(0编辑  收藏  举报