说明:此前用的一直是91yun大神制作的openvz
的BBR
一键包,今天看到扩软博主也制作了个openvz
的BBR
一键包,就转过来了。不过对于VPS
,还是建议选择KVM
架构,可玩性高,推荐款性价比高的VPS
:搬瓦工VPS。
更新:
[2017.07.24]
更新了liblkl-hijack.so
并打上了最近网上很火的“魔改版”BBR
补丁,同时更新了haproxy
。老版本的朋友可以重新下载安装脚本再安装一遍,需要先停止当前的服务。
使用方法
已测试通过的系统:Ubuntu 14.04 x64
、Ubuntu 16.04 x64
、CentOS 6 x64
、CentOS 7 x64
只支持64
位系统,要求glibc
版本2.14
以上。
wget --no-check-certificate https://raw.githubusercontent.com/kuoruan/shell-scripts/master/ovz-bbr/ovz-bbr-installer.sh
chmod +x ovz-bbr-installer.sh
./ovz-bbr-installer.sh
注意:安装失败的话,可能后台没有开启TUN/TAP
。
需要配置的有如下几个选项:
1、需要加速的端口,即的55
端口。加速开启之后,流量会先经过BBR
处理,之后再发送给后端的55
。
2、可能需要配置 “公网接口名称”,即你服务器上具有公网IP
的接口名称。搬瓦工OpenVZ
上默认都是venet0
,但是有朋友可能需要安装在其他服务器上,所以我加入了此选项。
注意:在有firewalld
的服务器上安装的时候,firewalld
会干扰iptables
的规则,造成网络不通(现在具体原因未知,谁有解决方案可以提示一下)。所以在装有firewalld
的服务器上需要先退出firewalld
:
systemctl stop firewalld
systemctl stop firewalld
如需卸载,请使用:
./ovz-bbr-installer.sh uninstall
错误说明
有些机器一切正常,但是加速失败。从网友的反馈来看,可能需要将55
的监听地址从vps IP
改到127.0.0.1
或者 0.0.0.0
,具体未测试,加速失败的朋友可以试一试。
多端口加速
安装的时候只配置了一个加速端口,但是你可以配置多端口加速,配置方法非常简单。修改文件
# vi /usr/local/haproxy-lkl/etc/port-rules
在文件里添加需要加速的端口,每行一条,可以配置单个端口或者端口范围,以#
开头的行将被忽略。 例如:8800
或者8800-8810
配置完成之后,只需要重启haproxy-lkl
即可。
注:最初版本的实现是需要再开一个新端口,后来经人提醒,我又看了一下HAproxy
的配置说明,可以直接代理后端端口,不必再开新端口。请注意,使用该方法后,如果HAproxy
进程异常退出,会造成无法连接原有端口。所以,请确保在退出 HAproxy
时是通过命令正常退出的,在退出时会自动清理原有的防火墙规则。
使用systemctl
或者service
命令来启动、停止和重启HAporxy-lkl
:
systemctl {start|stop|restart} haproxy-lkl
service haproxy-lkl {start|stop|restart}
/usr/local/haproxy-lkl/etc/haproxy.cfg
这个文件是通过port-rules
自动生成的,每次启动都会重新生成,所以直接修改它的配置没用。 如果想要自定义配置,请修改启动文件:
/usr/local/haproxy-lkl/sbin/haproxy-lkl
更新glibc
1、CentOS 6
更新glibc
,首先下载如下几个文件:
wget http://ftp.redsleeve.org/pub/steam/glibc-2.15-60.el6.x86_64.rpm \
http://ftp.redsleeve.org/pub/steam/glibc-common-2.15-60.el6.x86_64.rpm \
http://ftp.redsleeve.org/pub/steam/glibc-devel-2.15-60.el6.x86_64.rpm \
http://ftp.redsleeve.org/pub/steam/glibc-headers-2.15-60.el6.x86_64.rpm \
http://ftp.redsleeve.org/pub/steam/nscd-2.15-60.el6.x86_64.rpm
2、然后安装:
# rpm -Uvh glibc-2.15-60.el6.x86_64.rpm \
glibc-common-2.15-60.el6.x86_64.rpm \
glibc-devel-2.15-60.el6.x86_64.rpm \
glibc-headers-2.15-60.el6.x86_64.rpm \
nscd-2.15-60.el6.x86_64.rpm
3、如果以上步骤无法更新,可以手动编译更新
wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
tar -zxf glibc-2.15.tar.gz
tar -zxf glibc-ports-2.15.tar.gz
mv glibc-ports-2.15 glibc-2.15/ports
mkdir glibc-build-2.15
cd glibc-build-2.15
../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make all && make install
4、检查一下:
# ldd --version
ldd (GNU libc) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
已经升级到glibc 2.15
了。
判断BBR已正常工作
判断bbr
是否正常启动可以尝试ping 10.0.0.2
,如果能通,说明bbr
已经启动。
试了几天,这个不适合安装在CPU很差的机器上,HAproxy进程是比较吃CPU的,例如budgetvm的openvz,如果HAproxy进程占用CPU超过30%,会导致速率大幅度下降到10KB/S左右。。特别这机器,直接一个https资源访问超过2M/S左右一会就开始高CPU然后就掉速了。
但是停止HAproxy就可以立刻恢复到300M左右吞吐量。。不知道是应用层的锅还是CPU的锅
研究的好深,不是cpu的锅,HAproxy是比较吃cpu,特别是ssl占用不是一般的高,不过一般没必要管它,不是很影响使用。
请问如何添加多用户。
指的加速多端口?
还行,几台服务器部署了后,提速三倍左右,有个毛病,获取不到IP了。
bbr就是提速的,咋就没用,至于获取ip,去用KVM就可以获取了。
error: Failed dependencies:
glibc-common = 2.12-1.209.el6_9.2 is needed by (installed) glibc-2.12-1.209.el6_9.2.i6862333炸了
您好,这个脚本的确非常有用,但是我不太理解如何添加所需要的端口,或者说不知道如何输入端口,我使用的是Xshell,不知道怎么在原有端口下输入新端口。谢谢你分享的脚本。
用ftp软件登录VPS,比如我经常用的WinSCP,进入/usr/local/haproxy-lkl/etc/port-rules,编辑文件,一行填一个端口数,如果是一个段,就填800-900,意思800到900端口都加速。
谢谢博主,按照您的提示已经解决问题。
请问加速Web服务的时候,如何让nginx获取用户真实IP
这个问题有待研究!
128内存的可以安装这个吗?
可以的。
博主, 这个脚本已经删除了 ,在安装的过程种显示 部分找不到地址
没删除,一切正常,你再试试。
一些文件下载失败!安装脚本需要能访问到 github.com,请检查服务器网络。
我安装后的提示
重复安装是这个提示。你看看之前安装过了没有。
明白了 感谢老哥的 解惑, 以前一直用你发的 这个管理端口的55r后来到处找不到,所有的55R里边 还是 这个最好用, 就怕后期再找不到,能不能说下这些脚本怎么备份上传
不怕,那个我不会删的。
谢谢老哥,所有的一键55R里边 就这个是最好用的 其他的都不够一键
手动编译更新有的机器需要先安装c++ gcc
yum -y install gcc
yum -y install gcc-c++
手动编译的都是喜欢折腾的。
脚本是删了吗?
没有,删了我会补的。