LinuxEye开源镜像站运营

  • A+
Categories:Linux

技术在于折腾,最近手上有空闲国内服务器资源,于是忍不住折腾,为了方便广大开源爱好者下载Linux发行版,Linux运维笔记自己搭建了一个镜像网站。

LinuxEye开源镜像站网址:http://mirrors.linuxeye.com/

原本准备像mirrors.ustc.edu.cn镜像整个包,但是服务器磁盘容量有限,于是LinuxEye只收录最新版本(mini)的策略,镜像定期更新获取最新版本的Linux发行版,并自动替换所在目录,包含对应md5值

ps:如果大家有什么特别需要的发行版,请回帖,可以考虑加到镜像站中,谢谢!

LinuxEye开源镜像站搭建过程

1. 使用《lnmp一键安装包》,安装lnmp,执行vhost.sh 添加虚拟主机mirrors.linuxeye.com

2. 在nginx中添加fancyindex模块实现漂亮的索引目录

  1. cd lnmp/src
  2. wget http://gitorious.org/ngx-fancyindex/ngx-fancyindex/archive-tarball/master
  3. tar xvzf master
  4. # /usr/local/nginx/sbin/nginx -V #查看nginx已经编译参数
  5. cd nginx-1.6.2
  6. make clean
  7. #增加ngx-fancyindex模块(--add-module=../ngx-fancyindex-ngx-fancyindex)
  8. ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module \
  9. --with-http_spdy_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module \
  10. --with-http_flv_module --with-ld-opt=-ljemalloc --add-module=../ngx-fancyindex-ngx-fancyindex
  11. make
  12. mv /usr/local/nginx/sbin/nginx{,_`date +%F`}
  13. cp objs/nginx /usr/local/nginx/sbin

3. 修改虚拟主机配置文件(/usr/local/nginx/conf/vhost/mirrors.linuxeye.com.conf)

  1. server {
  2. listen 80;
  3. server_name mirrors.linuxeye.com;
  4. access_log off;
  5. index index.html index.htm index.php;
  6. root /home/wwwroot/mirrors.linuxeye.com;
  7. location / {
  8. fancyindex on;
  9. fancyindex_exact_size off;
  10. fancyindex_localtime on;
  11. fancyindex_footer "/footer.html";
  12. fancyindex_ignore "footer.html" "exclude_centos.list";
  13. }
  14. }

参数解释:

fancyindex on:开启fancy索引

fancyindex_exact_size off:不使用精确的大小,使用四舍五入,1.9M会显示为2M这样.如果开启的话,单位为字节

fancyindex_localtime on:使用本地时间

fancyindex_footer /footer.html:把网站根目录下footer.html内容作为底部.文件不存在底部会出现404

footer.html内容如下:

  1. <!-- footer START -->
  2. <div id="footer">
  3. <div id="copyright">
  4. 版权所有 © copy; 2015 LinuxEye  </div>
  5. </div>
  6. <!-- footer END -->

fancyindex_ignore:哪些文件/目录隐藏掉

fancy指令使用:

fancyindex

语法: *fancyindex* [*on* | *off*]

默认值: fancyindex off

配置块: http, server, location

描述: 开启/关闭目录索引功能

fancyindex_css_href

语法: *fancyindex_css_href uri*

默认值: fancyindex_css_href ""

配置块: http, server, location

描述: 外置css路径,可以用这个css替代掉现有的css样式

fancyindex_exact_size

语法: *fancyindex_exact_size* [*on* | *off*]

默认值: fancyindex_exact_size on

配置块: http, server, location

描述: 定义如何显示文件的大小,默认是on,on:文件大小使用精确值,单位为字节.off:单位为KB,MB,GB,如果含有小数点,将会四舍五入。例如1.9MB,将会显示为2MB。

fancyindex_footer

语法: *fancyindex_footer path*

默认值: fancyindex_footer ""

配置块: http, server, location

描述: 指定哪个文件嵌入到索引页面的底部

fancyindex_header

语法: *fancyindex_header path*

默认值: fancyindex_header ""

配置块: http, server, location

描述: 指定哪个文件嵌入到索引页面的头部.用法和fancyindex_footer类似

fancyindex_ignore

语法: *fancyindex_ignore string1 [string2 [… stringN]]*

默认值: No default.

配置块: http, server, location

描述: 哪些文件/目录隐藏掉,支持nginx正则

fancyindex_localtime

语法: *fancyindex_localtime* [*on* | *off*]

默认值: fancyindex_localtime off

配置块: http, server, location

Description: 使用当地时间显示文件的创建时间,默认是off(GMT时间)

4. 同步ustc centos镜像

  1. mkdir -p /home/wwwroot/mirrors.linuxeye.com/centos  
  2. tmux #后台同步  
  3. rsync -avrt rsync://mirrors.ustc.edu.cn/centos/ \  
  4. --exclude-from=/home/wwwroot/mirrors.linuxeye.com/exclude_centos.list \  
  5. /home/wwwroot/mirrors.linuxeye.com/centos/  
Mon Feb 9 15:49:50 CST 2015

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

Replies to:2   Visitors  2   Admin  0

    • avatar 会说话的车 1

      哦,你用的是阿里云,我以为是自己的服务器

      • avatar 小z博客 2

        上面提供的ngx-fancyindex模块地址已经失效,建议改成官方提供的:
        git clone https://github.com/aperezdc/ngx-fancyindex.git ngx-fancyindex
        第5行cd nginx-1.6.2,需要先在当前目录解压nginx包。tar -zxvf nginx-1.9.x.tat.gz
        其它按照博主的方法直接操作即可,希望对需要的人有帮助。