在任意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就表示安装成功

参考

评论

  1. sansheng
    Windows Chrome 83.0.4103.116

    最后运行的时候出现错误如下:

    [email protected]:~# systemctl status railgun.service
    ● railgun.service - Cloudflare Railgun
       Loaded: loaded (/etc/systemd/system/railgun.service; enabled; vendor preset: enabled)
       Active: inactive (dead) since Sun 2020-07-05 15:25:12 CST; 3s ago
      Process: 68243 ExecStart=/usr/local/bin/rg-listener -config=/usr/local/etc/railgun/railgun/railgun.conf (code=exited, status=0/SUCCESS)
     Main PID: 68243 (code=exited, status=0/SUCCESS)
    
    Jul 05 15:25:12 debian systemd[1]: Started Cloudflare Railgun.
    Jul 05 15:25:12 debian rg-listener[68243]: Error reading config file: open /usr/local/etc/railgun/railgun/railgun.conf: permission denied
    Jul 05 15:25:12 debian systemd[1]: railgun.service: Succeeded.

    请问怎么解决?

    4天前
    2020-7-05 15:27:34
    • Yushum 博主
      Windows Chrome 83.0.4103.116

      permission denied
      没给权限,chmod给一下权限

      4天前
      2020-7-05 15:39:09

发送评论 编辑评论

上一篇
下一篇