Cloudflare Railgun 是 Cloudflare 为企业客户提供的加速解决方案。要使用它,首先需要将网站包升级到Business或Enterprise,Cloudflare的商务包适合土豪。Railgun 使用类似于用于压缩高质量视频的技术将以前无法缓存的 Web 对象压缩高达 99.6%。平均性能提升200%(取自官网)。但是,对于免费玩家,我们可以申请 Cloudflare 合作伙伴,该合作伙伴也提供免费的 Cloudflare Railgun 加速。
简单来说,这个 Railgun 就是在你的源站和 CF 回源服务器之间添加一个 Railgun 服务器。由于 Railgun 可以长期配置 keepalive 时间,因此可以在持续访问的情况下与您的网站建立。长连接,减少TTFB。而且因为 Railgun 支持对象缓存,它能够直接命中静态内容,而不是再次回到原点。在这两项措施下,Railgun 可以根据网站访问情况,减轻服务器压力,提高访问速度。
二、激活 Railgun 并在服务器上部署
1、进入官网Cloudflare Partner后台,打开CloudFlare Railgun(很多文件需要签名)
2、创建节点获取token 如图,输入节点名确认,生成token,稍后部署railgun时使用。
3、在服务器上部署 Railgun 的官方文档:https://www.cloudflare.com/docs/railgun/
3.1、配置要求如下图(反正我装的是2G内存的virmach机器,没看到有什么问题,可能是需要大量的连接这么高的配置,个人觉得配置低一点,没关系,安装没问题。)
3.2、安装
博主比较习惯用centos,这里以centos为例,输入以下命令直接安装
- sudo rpm –import https://pkg.cloudflare.com/pubkey.gpg
- sudo rpm -ivh http://pkg.cloudflare.com/cloudflare-release-latest.el7.rpm
- yum install railgun-stable
如果没有错误,则应安装 Cloudflare Railgun 软件。但是,railgun 需要 memcached 环境的支持。Centos7默认安装了memcached,但是没有启动,需要手动启动。
- #启动memcached
- systemctl start memcached
- #设置开机自启
- systemctl enable memcached
如果系统没有安装,参考Linux Memcached安装
3.3、配置并启动 Railgun
编辑 /etc/railgun/railgun.conf 文件,修改以下两行:
- activation.token = 这里填写 Railgun 的 Token>
- activation.railgun_host = 这里填写服务器的公网 ip>
保存修改,然后运行以下命令:
service railgun start
如果提示OK,说明已经启动,但是Railgun使用的是2408端口,需要被防火墙释放。centos7默认的防火墙是firewall,输入以下命令释放端口
- #放行端口
- firewall-cmd –zone=public —add-port=2408/tcp –permanent
- #重新加载规则
- firewall-cmd –reload
然后在后台可以看到Railgun已经激活,可以添加一个IP范围,这样只要使用IP的域名,就可以自动访问CloudFlare Railgun。
注意:如果 IP 是管理员设置的,Cloudflare Railgun 会自动关联,否则 Cloudflare Partner 管理员需要手动关联域名。
3.4、在 Railgun 部署过程中发现问题的相关命令
- #查看端口是否监听,有的话说明已经启动
- netstat -plnt | grep 2408
- #查看日志
- -u railgun /usr/bin/rg-listener -config=/etc/railgun/railgun.conf
- tail -f /var/log/messages
- /var/log/railgun/panic.log #日志文件
三、测试
管理员在Cloudflare合作伙伴面板添加加速域名后,用户可以在官网的cloudfare账号面板看到相关情况.
1、登录你的Cloudflare官网账号,进入Speed选项,然后进入Optimization子项,可以找到Railgun部分,可以看到已经激活,可以单击测试测试。
2、Browser test enabled
您可以打开您的网站并使用 Chrome 检查元素来查看页面请求正在通过 Cloudflare Railgun,并且 DYNAMIC 的 cf-cache-status 也指示成功。