简介
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就表示安装成功
最后运行的时候出现错误如下:
请问怎么解决?
permission denied
没给权限,chmod给一下权限