Debian-Nginx-SSL-Hexo安装笔记(一)——启用BBR算法

大家好,我是丁丁。这系列文章是我在VPS上安装配置Hexo静态博客的记录。

这次部署,我选择的方式是直接在VPS服务器上部署Hexo框架,日常通过批处理脚本完成模板的生成、上传与编译,以解决Hexo在多台不同电脑上编辑的痛点。整个安装过程中的一些坑也会在文中一并注明,希望能给各位一定的参考与启发。

本文是这个系列的第一篇,主要内容是如何启用服务器的TCP BBR算法。

由于工作需要,所以我早前就租用了一台VPS用作软件的测试环境,这台服务器的硬件配置比较低:单核的CPU、1G内存、25G的SSD硬盘,操作系统是自己最熟悉的Debian 9。考虑到静态博客对系统的配置要求比较低,这台服务器应该足够带动,所以这次的Hexo框架安装配置也是基于VPS的硬件配置和Debian 9的环境进行。

开启TCP BBR

不论是国内还是国外的服务器,Google的开源TCP BBR拥塞控制算法对数据的传输都能有较大的提升。所以这次Hexo部署的第一步,就是启用服务器的TCP BBR算法。

注意:TCP BBR算法适用于KVM、Xen、VMware的VPS,不适用与OpenVZ。

首先,登陆VPS,采用以下命令检查VPS是否已启用BBR:

1
uname -r

查看Debian的内核版本,4.9及以上的版本可以支持BBR,否则需要升级系统的内核版本。

1
sysctl net.ipv4.tcp_available_congestion_control

查询sysctl.conf文件,显示操作系统可用的TCP拥塞控制算法,如返回信息中包含bbr,表示BBR算法已经添加到配置文件中。

1
sysctl net.ipv4.tcp_congestion_control

查询sysctl.conf,显示操作系统当前使用的TCP拥塞控制算法,如返回信息是bbr,表示当前拥塞控制算法已经设置为BBR。

1
sysctl net.core.default_qdisc

查询sysctl.conf,显示操作系统当前的网络排队规则(Queueing Discipline)设置,如返回信息是fq,表示采用公平队列(Fairness Queueing),注意,按照BBR的文档说明,bbr必须配合fq。

最后:

1
lsmod | grep bbr

查询当前已加载的内核模块,如返回信息是tcp_bbr,表示bbr内核模块已经加载,BBR已经启用。

如果上述命令的返回信息不符,说明bbr没有正确启用,最简单、最傻瓜的解决方案是使用网上Teddysun前辈制作的一键安装脚本,能够一键安装最新的系统内核并且启用BBR。

一键安装脚本运行命令如下:

注意:运行脚本需要root权限

1
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

脚本运行结束后,再次运行上面的命令进行检查,返回信息一致就表示BBR已经启用完毕。

注意事项:

在安装前,建议先运行命令更新操作系统软件仓库、升级系统组件,以免安装失败:

1
apt-get update
1
apt-get upgrade
------ 本文结束 ------
0%