其他分享
首页 > 其他分享> > BBR

BBR

作者:互联网

配置环境

sudo -i      #切换到root用户
sudo apt update -y  #更新一下包

# 整理一些常用的脚本(持续更新中)

1、简介

新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT) 可以让服务器的带宽尽量跑满,并且尽量不要有排队的情况,让网络服务更佳稳定和高效。

Linux Kernel 内核升级到 4.9 及以上版本可以实现 BBR 加速(Ubuntu 18.04 默认的内核是 4.15版本的内核,Ubuntu 20.04 默认的内核是 5.4 版本的内核,并已经默认编译了 TCP BBR 模块,可以直接通过参数开启)。

目前 De­bian 10 自带的内核版本一般是4.19,我们可以查看一下内核版本(如果是 5.6 及以上内核则集成了 Wire­Guard )

hostnamectl   #或者 uname -r 查看内核版本


更新linux内核点我,再开启BBR

  1. 修改 kernel 参数配置文件 sysctl.conf 并指定开启 BBR

    sudo nano /etc/sysctl.conf
    
    
    

说明

本文以 Debian 10 为例,所以使用 /etc/sysctl.conf 仍无问题,但如果你并不是跟着本文从头开始,或者使用了其他 Linux 发行版,那么建议你建立 /etc/sysctl.d/ 文件夹,并在这个文件夹内建立自己的配置文件,形如 /etc/sysctl.d/vpsadmin.conf,以此保证兼容性,因为部分发行版在 systemd 207 版本之后便不再从 /etc/sysctl.conf 读取参数。使用自定义配置文件也可避免默认文件在不可预见的情况下被覆盖而导致配置丢失。

  1. 把下面的内容添加进去

    net.core.default_qdisc=fq
    net.ipv4.tcp_congestion_control=bbr
    
    
    
  2. 重启

    sudo reboot
    
    
    

检查是否开启BBR

可以使用下面的命令:

lsmod | grep bbr


此时应该返回这样的结果:

tcp_bbr


如果你想确认 fq 算法是否正确开启,可以使用下面的命令:

lsmod | grep fq


此时应该返回这样的结果:

sch_fq


2、修改时间

首先,我们需要修改服务器的时间与我们本地的时间一致。

香港的服务器的话时间是一样的,就无所谓了,如果是欧美的服务器,可以通过下面的方式修改~

sudo -i      #切换到root用户
apt update -y && apt upgrade -y  #更新一下包


先查看时间:

timedatectl


DD 完之后,可以看到我们的时间变成了纽约时间,这边需要改一下。

timedatectl list-timezones #列出所有时区


sudo timedatectl set-timezone Asia/Shanghai #改成上海


发现没有 sudo 命令,这是因为我们的系统现在是纯净的,没有装其他的东西,

这边我们手动安装几个常用的命令~

apt install sudo curl wget 


然后重新运行

4、其他服务器安全相关的工作

其他安全防护工作,可以看这篇:保护好你的小鸡!保姆级服务器安全教程!

安全无小事,建议大家保护好自己的小鸡!

5、安装 Docker、Docker-compose

更新、安装必备软件

apt-get update && apt-get install -y wget vim


非大陆 Docker 安装

wget -qO- get.docker.com | bash


注意:出现sudo: unable to resolve host [hostname], 可以编辑nano /etc/hosts然后在

localhost 后面空一格,再打上[hostname]你对应的 hostname 内容。

查看 Docker 版本

docker -v

开机自动启动

systemctl enable docker


卸载 Docker

sudo apt-get purge docker-ce docker-ce-cli containerd.io


sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd


非大陆 Docker-compose 安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


sudo chmod +x /usr/local/bin/docker-compose


docker-compose --version


大陆内地的服务器安装请见这边:国内机安装 docker

6、文件管理

强烈建议大家专门给 Docker 的数据、配置文件新建一个文件夹,

mkdir -p data/docker_data


这样如果换服务器或者想要备份,都会很方便。

这边我们以之前搭建过的 minimalist 为例子【好玩的 Docker 项目】搭建一个简洁的记事本——minimalist-web-notepad

来简单讲讲。

首先进入我们创建好的文件夹下,

运行,

wget https://github.com/pereorga/minimalist-web-notepad/archive/refs/heads/docker.zip


然后

没有 unzip,我们就安装一个

apt install unzip


再运行

unzip docker.zip


cd minimalist-web-notepad-docker/


建立镜像,

docker build -t minimalist-web-notepad .


安装 minimalist,

docker run -d -it --restart=always --name minimalist-web-notepad -v /root/data/docker_data/minimalist/minimalist-data:/var/www/html/_tmp -p 8006:80 minimalist-web-notepad


注意这里的映射路径,我们改成了刚前面创建的路径/root/data/docker_data/minimalist

这样你的东西就都在这边啦。

一般来说,看到这一长串的东西,就说明创建成功啦。

由于 Debian 是本身开放所有端口的,所以直接访问即可,但是因为我们是腾讯云轻量服务器,后台默认还有一个防火墙,我们需要登陆把后台的防火墙里的8006端口打开(对应 docker 命令的8006:80),这样就能访问了。

当然你要是觉得麻烦,也可以直接填ALL,这样就开放所有端口了,以后就不用每次来设置了,但是不推荐。

然后我还非常推荐你再建立一个txt文件,记录这条 docker 命令。

nano config.txt


然后输入前面的命令,

docker run -d -it --restart=always --name minimalist-web-notepad -v /root/data/docker_data/minimalist/minimalist-data:/var/www/html/_tmp -p 8006:80 minimalist-web-notepad


Ctrl+x退出,按y确认,回车。

用 IP + 端口就可以访问了!

问题来了,之前我们都是通过宝塔面板上面建立一个空壳站点,然后修改配置文件来进行反向代理的,这下没有了宝塔面板,要怎么搞?

难道要手动去修改 nginx 的配置文件吗?

我还得安装一个 nginx?感觉好麻烦啊!

不!下期将介绍一个非常牛逼的工具,可以让你只要点击几下鼠标就能非常轻松完成反向代理,当然它自身也是基于 Docker 搭建的

所以暂时先憋着,丑就丑一点,我们下期视频来处理这个事情。

7、备份数据

参考这篇:如何备份 Docker 数据?(以 Bitwarden 为例)

标签:minimalist,sudo,BBR,内核,docker,data,Docker
来源: https://www.cnblogs.com/ilkezd/p/16479096.html