shell 脚本实战笔记(5)--搭建资源的镜像服务器
2014-06-26 12:35
399 查看
背景:
由于访问国外站点资源, 有时特别慢. 偶尔一次下载, 肯定还能忍受, 对于多次使用或者小团队内部使用, 搭建一个镜像站点, 无疑是个明智的决定.
这边以搭建CDH5的yum源镜像, 作为例子, 具体阐述如何借助apache2搭建一个目录镜像服务, 以及如何复制站点资源.
1) 搭建apache2服务器
*) 安装apache2
yum install httpd
yum info httpd
*) 确认配置项
/etc/httpd/conf/httpd.conf
该配置项, 即为apache2默认的根目录
对应的DocumentRoot的目录结构如下所示:
*) 服务开启
service httpd status
service httpd start
*) 服务验证
netstat -nlp | grep -E ":80\s"
浏览器访问
2) 创建访问目录
两种方式:
1). 在DocumentRoot下, 创建文件/软链接来实现
这边以创建软链接为例:
mkdir -p ~/resource
touch ~/resource/hive.txt ~/resource/hbase.txt
ln -s ~/resource /var/www/html/resource
访问 http://172.16.1.106/resource
2). 构建新的Directory标签
*) 编辑/etc/httpd/conf/httpd.conf
使用Alias命令, 使得Directory:/var/www/repo和url中/repo对应
Indexes: 允许以目录结构展示, FollowSymLinks: 允许在该目录中使用软链接
要使url展现目录结构, 需要避免该目录下有index.html, 否则将展现该index.html的内容, 这个取决于定义
*) 建构相关目录和文件
mkdir -p /var/www/repo
touch /var/www/repo/repo.txt
*) 访问验证
访问 http://172.16.1.106/repo
3).复制站点
*) 递归下载站点资源 http://archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/ http://archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/
cd ~/resource
wget -c -r -np http://archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/ wget -c -r -np http://archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/
*) 安装createrepo
yum install createrepo
*) 重建repodata
createrepo ~/resource/archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/
createrepo ~/resource/archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/
*) 建立软链接
ln -s ~/resource/archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/ /var/www/repo/cm5
ln -s ~/resource/archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/ /var/www/repo/cdh5
*) 验证
参考资料:
apache2配置详解 http://liudaoru.iteye.com/blog/336338 http://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html
由于访问国外站点资源, 有时特别慢. 偶尔一次下载, 肯定还能忍受, 对于多次使用或者小团队内部使用, 搭建一个镜像站点, 无疑是个明智的决定.
这边以搭建CDH5的yum源镜像, 作为例子, 具体阐述如何借助apache2搭建一个目录镜像服务, 以及如何复制站点资源.
1) 搭建apache2服务器
*) 安装apache2
yum install httpd
yum info httpd
*) 确认配置项
/etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"
该配置项, 即为apache2默认的根目录
对应的DocumentRoot的目录结构如下所示:
*) 服务开启
service httpd status
service httpd start
*) 服务验证
netstat -nlp | grep -E ":80\s"
浏览器访问
2) 创建访问目录
两种方式:
1). 在DocumentRoot下, 创建文件/软链接来实现
这边以创建软链接为例:
mkdir -p ~/resource
touch ~/resource/hive.txt ~/resource/hbase.txt
ln -s ~/resource /var/www/html/resource
访问 http://172.16.1.106/resource
2). 构建新的Directory标签
*) 编辑/etc/httpd/conf/httpd.conf
Alias /repo "/var/www/repo" <Directory "/var/www/repo"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
使用Alias命令, 使得Directory:/var/www/repo和url中/repo对应
Indexes: 允许以目录结构展示, FollowSymLinks: 允许在该目录中使用软链接
要使url展现目录结构, 需要避免该目录下有index.html, 否则将展现该index.html的内容, 这个取决于定义
DirectoryIndex index.html index.html.var
*) 建构相关目录和文件
mkdir -p /var/www/repo
touch /var/www/repo/repo.txt
*) 访问验证
访问 http://172.16.1.106/repo
3).复制站点
*) 递归下载站点资源 http://archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/ http://archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/
cd ~/resource
wget -c -r -np http://archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/ wget -c -r -np http://archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/
*) 安装createrepo
yum install createrepo
*) 重建repodata
createrepo ~/resource/archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/
createrepo ~/resource/archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/
*) 建立软链接
ln -s ~/resource/archive-primary.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.1/ /var/www/repo/cm5
ln -s ~/resource/archive-primary.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.0.1/ /var/www/repo/cdh5
*) 验证
参考资料:
apache2配置详解 http://liudaoru.iteye.com/blog/336338 http://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html
相关文章推荐
- shell 脚本实战笔记(7)--集群网络相关知识和环境搭建
- shell 脚本实战笔记(4)--linux磁盘分区重新挂载
- shell 脚本实战笔记(10)--spark集群脚本片段念念碎
- shell 脚本实战笔记(6)--集群环境配置检测
- shell 脚本实战笔记(8)--ssh免密码输入执行命令
- 用shell脚本一键搭建LNMP环境实战
- shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇
- shell 脚本实战笔记(9)--linux自动批量添加用户
- shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维
- shell 脚本实战笔记(3)--集群机器的时间同步设置
- shell 脚本实战笔记(1)--source/fork/exec的区别
- Shell脚本学习笔记(三)--算术运算
- Shell脚本学习笔记(一)--预备知识
- Shell脚本学习笔记(四)--流程控制
- Shell脚本学习笔记(三)--算术运算
- shell脚本 if语句学习笔记
- Shell脚本学习笔记(六)--转向与陷阱
- shell脚本学习笔记
- shell 脚本练习。笔记
- Shell脚本学习笔记(五)--函数