上回说到bittorrent-tracker项目性能较低,于是便换为chihaya项目,Github地址如下:
该Tracker使用GOLang编写,实测在日请求量400W+的情况下,CPU占用不超过5%。
基本组件与GO环境安装
首先安装一些基本组件(已经安装的可以跳过)
sudo apt-get install wget curl vim git -y
然后下载一个预构建好的GO环境:
wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
sudo tar -xzvf go1.14.2.linux-amd64.tar.gz -C /usr/bin
打开账户配置文件,把GO的PATH写到账户配置文件下:
# 切换到root用户
sudo -i
# 打开账户配置文件
vim ~/.bash_profile
# 将下行内容写到该配置文件中
export PATH=$PATH:/usr/bin/go/bin
# 使其生效
source ~/.bash_profile
拉取Chihaya并构建
首先从github拉取Chihaya仓库
# SSH方式
git clone [email protected]:chihaya/chihaya.git
# HTTPS方式
git clone https://github.com/chihaya/chihaya.git
然后进入仓库内,开始构建
cd chihaya
go build ./cmd/chihaya
构建完成后仓库内会出现一个名为chihaya的可执行二进制文件,将其复制到/usr/bin:
cp chihaya /usr/bin
chmod +x /usr/bin/chihaya
执行如下命令,可以检查Chihaya是否正常:
chihaya --help
下载配置文件,并保存到/etc中。
sudo wget https://raw.githubusercontent.com/chihaya/chihaya/master/dist/example_config.yaml -O /etc/chihaya.yaml
打开并根据需要编辑其中的配置选项,相关配置都有英文说明。
sudo vim /etc/chihaya.yaml
创建Systemd启动项
# 新建systemd配置文件,将以下代码一起复制到SSH运行
sudo cat > /lib/systemd/system/chihaya.service <<EOF
[Unit]
Description=chihaya tracker server
[Service]
User=root
ExecStart=/usr/bin/chihaya --config /etc/chihaya.yaml
Restart=on-abort
LimitCORE=infinity
LimitNOFILE=infinity
LimitNPROC=infinity
[Install]
WantedBy=multi-user.target
EOF
# 以上为命令的全部内容
# 设置开机启动
sudo systemctl enable chihaya
# 启动服务
sudo systemctl start chihaya
# 查看服务状态
sudo systemctl status chihaya
# 停止服务
sudo systemctl stop chihaya
# 重启服务
sudo systemctl restart chihaya
启动之后chihaya便会根据配置文件监听相应的http和udp端口(默认6969),此时Tracker服务器地址如下:
http://你的服务器公网IP:6969/announce
udp://你的服务器公网IP:6969/announce
至于反向代理和CloudFlare接入,方法参照上一篇文章,不过接入Cloudfare时不需要筛选IP了,Chihaya的配置文件里有一个选项可以指定使用CF的连接IP。
real_ip_header: “CF-Connecting-IP”
Chihaya具有丰富的配置文件,同时还支持Redis,这里就不展开讲了。
本组Tracker地址为:
https://tracker.tamersunion.org/announce