496 字
2 分钟
在任意Linux发行版上安装Railgun

简介#

Railgun可确保以最快速度连接源站和Cloudflare网络。

Railgun利用类似于高质量视频压缩的技术,压缩以前无法访问的Web对象。这会带来额外的性能提升。

通常Cloudflare客户需要每月支付200美元或更多才能获得该技术。但是作为Cloudflare的合作伙伴,您可以向所有已启用Cloudflare的客户免费提供Railgun。

Railgun仅适用于64位系统,本文以Arch Linux为例进行安装。

安装#

下载cloudflare官方仓库的ubuntu版railgun包

mkdir rg-install
cd rg-install
wget http://pkg.cloudflare.com/dists/stretch/railgun/binary-amd64/Packages.gz
gunzip Packages.gz

获取railgun在cloudflare仓库的存储路径

cat Packages | grep Filename:

会看到如下输出

Filename: pool/stretch/railgun/r/railgun-stable/railgun-stable_5.3.3_amd64.deb

下载5.3.3版本并提取文件

wget http://pkg.cloudflare.com/pool/stretch/railgun/r/railgun-stable/railgun-stable_5.3.3_amd64.deb
ar -x *.deb

得到的data.tar.xz就是我们所需要的

tar xvf data.tar.xz
mv etc /usr/local/etc/railgun
mv usr/bin /usr/local/lib/railgun
ln -s /usr/local/lib/railgun/* /usr/local/bin
cd ..
rm -rf rg-install

创建railgun相关目录,同时安全起见,使用nobody用户运行railgun

mkdir /var/run/railgun
mkdir /var/log/railgun
chown nobody:nobody /var/run/railgun/
chown nobody:nobody /var/log/railgun/
chmod 0750 /var/log/railgun

这里注意Arch Linux的nobody用户所在的组是nobody

如果不确定可以运行

id nobody

显示出来的结果可能是:

uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)

也可能是:

uid=65534(nobody) gid=65534(nobody) groups=65534(nobody)

相应的,只需要执行:

chown nobody:nogroup /var/run/railgun/
chown nobody:nogroup /var/log/railgun/

或是:

chown nobody:nobody /var/run/railgun/
chown nobody:nobody /var/log/railgun/

安装railgun必需的memcached

pacman -S memcached
systemctl enable memcached
systemctl start memcached

设置systemd守护进程#

创建railgun.service文件

touch /etc/systemd/system/railgun.service
vim /etc/systemd/system/railgun.service

写入如下的内容

[Unit]
Description=Cloudflare Railgun
After=network.target
[Service]
Type=simple
User=nobody
ExecStart=/usr/local/bin/rg-listener -config=/usr/local/etc/railgun/railgun/railgun.conf
RuntimeDirectory=railgun
PIDFile=/run/railgun.pid
[Install]
WantedBy=multi-user.target

至此,railgun安装完毕

启动#

修改railgun的配置文件

vim /usr/local/etc/railgun/railgun/railgun.conf

需要修改29行为

map.file = /usr/local/etc/railgun/railgun/railgun-nat.conf

修改49行为

ca.bundle = /usr/local/etc/railgun/ssl/railgun-ca-certs.crt

然后修改22行的activation.token为从cloudflare partner获取的Token

修改23行activation.railgun_host为该服务器IP地址

保存生效后启动railgun并设置开机自启动

systemctl enable railgun
systemctl start railgun

在cloudflare partner后台看到status为active就表示安装成功

参考#

在任意Linux发行版上安装Railgun
https://yushum.com/posts/在任意linux发行版上安装railgun/
作者
Yushum
发布于
2020-04-19
许可协议
CC BY-NC-SA 4.0