当前位置: 首页 >> 原创·技术 >> 201912161608 CentOS7搭建TUNA mirrors 主页 >> 正文

201912161608 CentOS7搭建TUNA mirrors 主页

4年前 (2019-12-16)     作者:iMoke     分类:原创·技术     阅读次数:3748     评论(4)    

(作为一个学渣,向清华致敬)

TUNA官方页面:https://github.com/tuna/mirror-web

Hekyll官方页面:http://jekyllcn.com/



 注:本教程未完结,暂时请勿尝试。



一、参考资料

(作为一个学渣,向清华致敬

TUNA 前端页面:https://github.com/tuna/mirror-web

TUNA 后端页面:https://github.com/tuna/tunasync

Hekyll中文页面:http://jekyllcn.com/


二、部署

1.安装 nodejs

yum install -y nodejs


2.安装 ruby 2.2.4 and rubygems

Step 1: Install Required Packages

yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel sqlite-devel

注:此处会提示“没有可用软件包 iconv-devel”,目前暂未发现异常。


Step 2: Compile ruby 2.2.4 source code

cd $HOME
#wget -c https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz
TUNA官方页面写的是2.2.4版本,但是实际安装提示要求>2.3.0版本。因此,我改用2.6.5版本部署(20191216最新版本为2.6.5)

wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.gz
#wget http://d.rc.it/Server/ruby/ruby-2.6.5.tar.gz
tar zxvf ruby-2.6.5.tar.gz
cd ruby-2.6.5
./configure
make && make install


Step 3: Install rubygems

cd $HOME
#wget -c https://rubygems.org/rubygems/rubygems-2.4.8.tgz
TUNA官方页面写是2.4.8版本,但是考虑到ruby已更新到最新,因此我改用3.1.1版本部署(20191216最新版本为3.1.1)

wget https://rubygems.org/rubygems/rubygems-3.1.1.tgz
#wget http://d.rc.it/Server/rubygems/rubygems-3.1.1.tar.gz 
tar zxvf rubygems-3.1.1.tgz
cd rubygems-3.1.1
ruby setup.rb


3.安装 bundle 和 build

gem install bundle
gem install build
#下面这行,官方页面没有写。因此后面的jekyll命令无法执行。
gem install jekyll bundler


#imoke补充

yum install -y git
cd $HOME
git clone https://github.com/tuna/mirror-web.git


为正常运行,一些动态数据文件需要下载(注:这里改了一下顺序)

cd mirror-web
mkdir -p static/status
wget https://mirrors.tuna.tsinghua.edu.cn/static/tunasync.json -O static/tunasync.json
wget https://mirrors.tuna.tsinghua.edu.cn/static/tunet.json -O static/tunet.json
wget https://mirrors.tuna.tsinghua.edu.cn/static/status/isoinfo.json -O static/status/isoinfo.json


4.Fork mirrors source code(注:这里改了一下顺序)

bundle install

注:命令1执行时会提示,貌似并没什么问题

注:在Resolving dependencies....................这行,需要较长时间,我等待了大约5-10分钟。

(中间省略多行)


jekyll build


启动网站

bundle exec jekyll serve


界面效果


到这里还没有完,我们只是把前端界面做好了,后端同步依然是什么都没有。所以还需要继续进行

一、安装go语言

yum install -y golang git


二、拷贝tunasync程序

cd $HOME
#配置go语言环境路径,本例以$HOME路径为例
wget https://github.com/tuna/tunasync/releases/download/v0.3.7/tunasync-linux-bin.tar.gz
tar zxvf tunasync-linux-bin.tar.gz -C /usr/local/bin/


配置

mkdir ~/tunasync_demo
mkdir /tmp/tunasync


编译内容:vi ~/tunasync_demo/worker.conf

[global]
name = "test_worker"
log_dir = "/tmp/tunasync/log/tunasync/{{.Name}}"
mirror_dir = "/tmp/tunasync"
concurrent = 10
interval = 1
[manager]
api_base = "http://localhost:12345"
token = ""
ca_cert = ""
[cgroup]
enable = false
base_path = "/sys/fs/cgroup"
group = "tunasync"
[server]
hostname = "localhost"
listen_addr = "127.0.0.1"
listen_port = 6000
ssl_cert = ""
ssl_key = ""
[[mirrors]]
name = "elvish"
provider = "rsync"
upstream = "rsync://rsync.elvish.io/elvish/"
use_ipv6 = false


编译内容:vi ~/tunasync_demo/manager.conf

debug = false
[server]
addr = "127.0.0.1"
port = 12345
ssl_cert = ""
ssl_key = ""
[files]
db_type = "bolt"
db_file = "/tmp/tunasync/manager.db"
ca_cert = ""


运行

nohup tunasync manager --config ~/tunasync_demo/manager.conf &
nohup tunasync worker --config ~/tunasync_demo/worker.conf &

本例中,镜像的数据在/tmp/tunasync/


查看同步状态

tunasynctl list -p 12345 --all

tunasynctl 也支持配置文件。配置文件可以放在 /etc/tunasync/ctl.conf 或者 ~/.config/tunasync/ctl.conf 两个位置,后者可以覆盖前者的配置值。


配置文件内容为:

manager_addr = "127.0.0.1"
manager_port = 12345
ca_cert = ""














-------------------------------------------------------------------------------------------------------------------------------


Build In Docker

docker build -t builden -f Dockerfile.build .
#docker run -it -v /path/to/mirror-web/:/data builden
docker run -it -v /www/wwwroot/mirror.mmoke.com/:/data builden



最后,清理垃圾文件


cd $HOME
rm -rf ruby-2.6.5*
rm -rf rubygems-3.1.1*


除非注明,发表在“傲孤漠客”的文章『201912161608 CentOS7搭建TUNA mirrors 主页』版权归iMoke所有。 转载请注明出处为“本文转载于『傲孤漠客』原地址https://www.imoke.org/post/20191216149.html

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站

  • 访客
    • 访客  POST:2021-04-01 11:18:39 与TA同吐槽
    • 非常感觉,给我很大的帮忙,我目前也只做了前端。bundle exec jekyll build --destination /usr/share/nginx/site 生成静态页结合nginx做的前端,发现status显示不出cpu内存等。目前实际使用的是自己gitbook做的帮助文件,和rsync同步了少量几个常用源。
      • mengqy
        • iMoke  POST:2021-04-01 19:27:17 与TA同吐槽
        • 您好。目前我用的方法是 基于rsync从清华源上更新。目前感觉这个方式比较有效。所以后续这篇文章我就没再继续下去了
  • 只是条咸鱼罢了
    • 只是条咸鱼罢了  POST:2020-09-10 22:42:26 与TA同吐槽
    • 大佬我执行到前端最后一步了但是为什么进不去网站xxx.xxx.xxx.xxx不行xxx.xxx.xxx.xxx:4000也不行
      • mengqy
        • iMoke  POST:2020-09-11 13:29:30 与TA同吐槽
        • 这个教程,我最后也只是做出来一个前端页面,后端的同步也是做不出来。所以我放弃了,现在是完全用rsync与清华源同步,然后用apache做前端。