博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 6.9自建开源镜像站
阅读量:6320 次
发布时间:2019-06-22

本文共 3211 字,大约阅读时间需要 10 分钟。

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

1.jpg

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进程:

1.png

同步前目录结构及磁盘容量:

1.png

同步后目录结构及磁盘容量:

4.jpg

5.jpg

6.jpg

7.jpg

8.jpg

9.jpg

10.jpg

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

1.png

(5)测试base源:# yum -y install httpd  # yum info httpd

2.png

(6)测试epel源:# yum -y install nginx  # yum info nginx

3.png

      本文转自Marion0728  51CTO博客,原文链接:http://blog.51cto.com/qiuyue/2052813,如需转载请自行联系原作者

你可能感兴趣的文章
无网络也没关系 Google云端硬盘新增脱机模式
查看>>
(转)AndroidStudio 混淆打包
查看>>
基于vue2 + vue-router + vuex 构建的一个音乐类单页面应用 —— echo回声
查看>>
内裤|知多少
查看>>
iOS 快速注释工具VVDocumenter-加强版支持Xcode 7
查看>>
react 入门学习
查看>>
发布-订阅方式实现异步并发
查看>>
程序员只拿到5千工资吐槽无法生活,网友:别在意薪资
查看>>
使用React、Electron、Dva、Webpack、Node.js、Websocket快速构建跨平台应用
查看>>
JVM之类加载机制
查看>>
JVM如何获取当前容器的资源限制
查看>>
flask-restful 大型项目结构示例
查看>>
JavaScript 精粹 基础 进阶(2)表达式和运算符
查看>>
用gulp搭建小程序开发编译环境
查看>>
js基础语法(1)
查看>>
Java线程同步的几种方式
查看>>
Lambda
查看>>
将本地图片上传至七牛云
查看>>
【深入浅出ES6】Class
查看>>
addEventListener中的EventListener接口对象
查看>>