最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

VPS服务器重装Linux系统&优化并安装中文版portainer管理docker

业界 admin 3浏览 0评论

目录

  • 一、DD重装系统
    • 1.1 下载(当前系统是 Linux)
    • 1.2 下载(当前系统是 Windows)
    • 1.3 安装 Linux
      • 可选参数
    • 1.4 实操
  • 二、设置和开启虚拟内存swap
    • 2.1 介绍
    • 2.2 设置步骤
    • 2.3 一键命令
  • 三、开启TCP BBR拥塞控制算法,加速网络访问
    • 3.1 什么是BBR
    • 3.2 操作步骤
    • 3.3 Linux网络优化TCP窗口调优
  • 四、Fail2banSSH防御脚本
  • 五、挂载数据盘
    • 5.1 查看磁盘信息
    • 5.2 硬盘实体使用情况
    • 5.3 显示磁盘分区挂载情况
    • 5.4 格式化数据盘 (注意数据安全)
    • 5.5 挂载磁盘到目录
    • 5.6 查看挂载是否成功
    • 5.7 配置重启自动挂载
  • 六、获取Linux性能和硬件信息
    • 6.1 融合怪测评脚本
    • 6.2 YABS
  • 七、安装docker
    • 7.1 使用官方安装脚本自动安装
    • 7.2 手动安装
    • 7.3 卸载 docker
    • 八、安装中文版portainer
    • 8.1 一键安装代码
    • 8.2 163镜像安装
    • 8.3 Docker Desktop on Windows 安装中文 Portainer

以下为我自己在执行过程中参考网上资料进行的步骤,在此做个备份记录,希望可以帮助到有同样需求的伙伴

一、DD重装系统

这里使用的是 https://github/bin456789/reinstall 大佬的DD脚本。

[!WARNING]
❌ 本脚本不支持 OpenVZ、LXC 虚拟机

请改用 https://github/LloydAsp/OsMutation

1.1 下载(当前系统是 Linux)

国外服务器:

curl -O https://raw.githubusercontent/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh

国内服务器:

curl -O https://gitlab/bin456789/reinstall/-/raw/main/reinstall.sh || wget -O reinstall.sh

1.2 下载(当前系统是 Windows)

!!!请先关闭 Windows Defender实时保护 功能。该功能会阻止 certutil 下载任何文件。!!!

解决 Windows 7 下无法下载脚本

由于不支持 TLS 1.2、SHA-256、根证书没有更新等原因,Vista,7 和 Server 2008 (R2)
可能无法自动下载脚本,因此需要手动下载,具体操作如下:

用 IE 下载 (先在 IE 高级设置里启用 TLS 1.2),或者通过远程桌面,将这两个文件保存到同一个目录

  • https://raw.githubusercontent/bin456789/reinstall/main/reinstall.bat

  • https://www.cygwin/setup-x86.exe

使用时运行下载的 reinstall.bat

国外服务器:

certutil -urlcache -f -split https://raw.githubusercontent/bin456789/reinstall/main/reinstall.bat

国内服务器:

certutil -urlcache -f -split https://gitlab/bin456789/reinstall/-/raw/main/reinstall.bat

1.3 安装 Linux

  • 用户名 root 默认密码 123@@@,首次开机可能要等几分钟才能成功登录
  • 安装最新版可不输入版本号
  • 最大化利用磁盘空间:不含 boot 分区(Fedora 例外),不含 swap 分区
  • 自动根据机器类型选择不同的优化内核,例如 CloudHWE 内核
  • 安装 Red Hat 时需填写 https://access.redhat/downloads/content/rhel 得到的 qcow2 镜像链接
  • 重装后如需修改 SSH 端口或者改成密钥登录,注意还要修改 /etc/ssh/sshd_config.d/ 里面的文件
bash reinstall.sh centos      9
                  anolis      7|8
                  almalinux   8|9
                  rocky       8|9
                  redhat      8|9   --img='http://xxx/xxx.qcow2'
                  opencloudos 8|9
                  oracle      7|8|9
                  fedora      40|41
                  nixos       24.05
                  debian      9|10|11|12
                  openeuler   20.03|22.03|24.03
                  alpine      3.17|3.18|3.19|3.20
                  opensuse    15.5|15.6|tumbleweed
                  ubuntu      16.04|18.04|20.04|22.04|24.04 [--minimal]
                  kali
                  arch
                  gentoo

可选参数

  • --password PASSWORD 设置密码
  • --ssh-port PORT 修改 SSH 端口(安装期间观察日志用,也用于新系统)
  • --web-port PORT 修改 Web 端口(安装期间观察日志用)
  • --hold 2 安装结束后不重启,此时可以 SSH 登录修改系统内容,系统挂载在 /os (此功能不支持 Debian/Kali)

[!TIP]
安装 Debian/Kali 时,x86 可通过后台 VNC 查看安装进度,ARM 可通过串行控制台查看安装进度。

安装其它系统时,可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。

即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。

实验性功能

云镜像安装 Debian

  • 适合于 CPU 较慢的机器

bash bash reinstall.sh debian --ci

ISO 安装 CentOS, AlmaLinux, Rocky, Fedora

  • 仅支持内存大于 2G 且为动态 IP 的机器
  • 密码 123@@@,SSH 端口 22,不支持用参数修改

bash bash reinstall.sh centos --installer

ISO 安装 Ubuntu

  • 仅支持内存大于 1G 且为动态 IP 的机器
  • 密码 123@@@,SSH 端口 22,不支持用参数修改

bash bash reinstall.sh ubuntu --installer

1.4 实操

在本文中,我们安装debian12系统,并且自定义ssh端口和密码,使用以下命令:

bash reinstall.sh debian 12 --password <自定义密码> --ssh-port <自定端口>

等待命令跑完后,使用 reboot 重启系统,让系统自动开始安装,大约10分钟后,使用刚才设定的端口和密码ssh连上系统。

由于刚重装的系统可能有些软件包不是最新的,这时我们可以使用apt update 和 apt upgrade命令更新下:

apt update
apt upgrade -y

apt update命令
这是一个主要在新系统安装之后或安装新软件包之前调用的命令。apt update 命令更新 Linux 系统的包索引或包列表。它不会升级任何软件包。它为您系统上的 PPA 和存储库获取最新的软件包列表,并确保它们是最新的。

apt upgrade命令
apt upgrade命令将软件包升级到最新版本,并在需要它们作为依赖项时安装新软件包。它不会删除任何包,如果指定要删除任何包,它会跳过它们。

除此之外,还可以安装一些基础的软件包和命令:

apt install wget curl sudo vim net-tools -y


二、设置和开启虚拟内存swap

2.1 介绍

SWAP是Linux系统中的一种虚拟内存,用于扩展物理内存的容量。当系统内存不足时,SWAP会将部分磁盘空间用作虚拟内存,以支持更多的应用程序运行。在VPS服务器环境中,SWAP的配置同样至关重要,它可以帮助我们提高系统的并发处理能力和稳定性。

2.2 设置步骤

  1. 打开SWAP功能:在Linux系统中,通过运行以下命令开启SWAP功能:
sudo swapoff -a
  1. 创建SWAP文件:使用以下命令创建一个指定大小的SWAP文件:
sudo fallocate -l <size> /swapfile

其中,代表SWAP文件的大小,单位为GB。例如,要创建一个2GB的SWAP文件,可以输入:

sudo fallocate -l 2G /swapfile
  1. 设置文件权限:为了确保SWAP文件的安全性,需要设置文件的权限,仅允许root用户读写:
sudo chmod 600 /swapfile
  1. 启用SWAP文件:运行以下命令将SWAP文件启用:
sudo mkswap /swapfile
  1. 启用SWAP功能:运行以下命令开启SWAP功能:
sudo swapon /swapfile
  1. 持久化SWAP配置:为了确保SWAP配置在系统重启后依然有效,需要将配置写入磁盘。运行以下命令完成此操作:
sudo echo '/swapfile none swap sw 0 0' >> /etc/fstab
  1. 监控SWAP使用情况:通过运行以下命令,可以查看SWAP的使用情况:
free -h

完整命令:

sudo swapoff -a
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo echo '/swapfile none swap sw 0 0' >> /etc/fstab
free -h

2.3 一键命令

也可以使用一键命令一键设置swap

wget https://www.moerats/usr/shell/swap.sh && bash swap.sh


三、开启TCP BBR拥塞控制算法,加速网络访问

3.1 什么是BBR

BBR 是一种拥塞控制算法, 由Google设计,可以在 Linux 上启用 TCP BBR 可以显著改善服务器整体网络传输效率。
  默认情况下,Linux 使用传统的 Reno 和 CUBIC 拥塞控制算法。
  BBR解决了两个问题:

  1. 在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
  2. 降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。

因此我们可以利用BBR来在服务器上做加速,来提高用网络的链接速度。

3.2 操作步骤

  1. 查看系统当前拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control


这里表示单签默认算法策略是cubic

  1. 配置开启 BBR 算法策略:
# 临时生效
sysctl net.ipv4.tcp_congestion_control=bbr 
sysctl net.core.default_qdisc=fq
 
# 安全追加配置文件永久生效
cat << EOF >> /etc/sysctl.conf
net.ipv4.tcp_congestion_control=bbr
net.core.default_qdisc=fq
EOF
 
# 刷新生效配置
sysctl -p

  1. 检查是否生效:
sysctl net.ipv4.tcp_congestion_control


net.ipv4.tcp_congestion_control = bbr # 算法策略显示 bbr 说明生效。

3.3 Linux网络优化TCP窗口调优

wget http://sh.nekoneko.cloud/tools.sh -O tools.sh && bash tools.sh

四、Fail2banSSH防御脚本

这是一个利用iptables和开源程序fail2ban来进行服务器简单防爆破的脚本。默认自带SSH防御规则。

安装

wget https://raw.githubusercontent/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log
  1. 第一步选择是否修改SSH端口。
  2. 第二步输入最多尝试输入SSH连接密码的次数
  3. 第三步输入每个恶意IP的封禁时间(单位:小时)

卸载

wget https://raw.githubusercontent/FunctionClub/Fail2ban/master/uninstall.sh && bash uninstall.sh

注意事项
安装完成后请会重启SSH服务,请重新连接SSH会话 若出现SSH无法连接的情况,请检查是否修改过SSH端口,请填写写改后的正确端口进行连接


五、挂载数据盘

有些vps会是系统盘+数据盘的形式,重装完后,数据盘需要自己手动挂载上去。

5.1 查看磁盘信息

列出所有可用块设备的信息,而且还能显示他们之间的依赖关系:

lsblk

5.2 硬盘实体使用情况

fdisk -l

5.3 显示磁盘分区挂载情况

# 按MB展示
df -k
# 按GB展示
df -h


此时可以看出,我们的数据盘sda并没有挂载

5.4 格式化数据盘 (注意数据安全)

mkfs.ext4 <磁盘路径>

从上一步的磁盘信息可以知道,数据盘路径为:/dev/sda,所以我们使用mkfs.ext4 /dev/sda 来格式化分区

5.5 挂载磁盘到目录

#在根目录下创建文件夹
mkdir /data
#挂载到目录
mount /dev/sda /data

5.6 查看挂载是否成功

5.7 配置重启自动挂载

云服务器系统挂载磁盘时不推荐使用mount的方法来挂载磁盘,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,所以推荐使用UUID来配置自动挂载数据盘。
5.7.1 查询磁盘分区的UUID
先查看磁盘分区号

blkid /dev/sda


5.7.2 绑定分区与目录
需要在/etc/fstab添加分区信息与目录之间的绑定信息

cat << EOF >> /etc/fstab
UUID=xxxxxxxxxxxxxxxxxxxx /data ext4 defaults 0 1
EOF

六、获取Linux性能和硬件信息

对于刚重装完成的系统,我们可以通过一些脚本

6.1 融合怪测评脚本

使用融合怪测评脚本 https://github/spiritLHLS/ecs?tab=readme-ov-file 可以对服务器的基础信息有所了解

使用命令为:

curl -L https://gitlab/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh


执行完后,会列出当前服务器的基础硬件信息和性能信息

6.2 YABS

除此之外,也可以使用国外比较常用的yabs脚本来测评https://github/masonr/yet-another-bench-script ,执行命令为:

curl -sL https://yabs.sh | bash

curl -sL https://yabs.sh | bash

执行结果如下:

由于这个是国外的脚本,网络测试都是国外的网站,我们可以不测试网络性能,运行 Geekbench 5 测试并禁用 Geekbench 6 测试和iperf (网络性能) 测试

curl -sL https://yabs.sh | bash -s -- -i -5

七、安装docker

7.1 使用官方安装脚本自动安装

安装命令如下:

 curl -fsSL https://get.docker -o get-docker.sh
 sudo sh get-docker.sh

7.2 手动安装

  1. 更新软件包
    首先,更新现有的软件包和包缓存:
sudo apt update
sudo apt upgrade
  1. 安装依赖包
    安装一些需要的依赖包,这些包允许 apt 使用 HTTPS 协议来访问 Docker 仓库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
  1. 添加 Docker 官方 GPG 密钥
    使用下面的命令来添加 Docker 官方的 GPG 密钥:
curl -fsSL https://download.docker/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 添加 Docker 仓库
    添加 Docker 官方的 APT 软件源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 更新 APT 软件包缓存
    添加仓库后,更新 APT 包索引:
sudo apt update

确保你现在从 Docker 官方仓库安装 Docker 而不是 Debian 默认仓库:

apt-cache policy docker-ce

你应该看到它指向 https://download.docker/,确保这就是官方的 Docker 仓库。

  1. 安装 Docker
    现在,你可以安装 Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 启动并验证 Docker
    启动 Docker 并设置为开机自启:
sudo systemctl start docker
sudo systemctl enable docker

你可以使用以下命令来验证 Docker 是否安装成功:

sudo docker --version

运行以下测试命令确保 Docker 正常工作:

sudo docker run hello-world

7.3 卸载 docker

删除安装包:

sudo apt-get purge docker-ce

删除镜像、容器、配置文件等内容:

sudo rm -rf /var/lib/docker

八、安装中文版portainer

这里使用的是https://hub.docker/r/6053537/portainer-ce 源码仓库https://github/eysp/portainer-ce⁠

8.1 一键安装代码

docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce

如果不想用默认的端口,可以把其中的 -p 9000:9000 可以改为-p <自定义端口>:9000

8.2 163镜像安装

portainer-ce中文,访问dockerhub网速不好的尝试

docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock hub-mirror.c.163/6053537/portainer-ce

8.3 Docker Desktop on Windows 安装中文 Portainer

docker run -d -p 9000:9000 --name portainer --restart always -v \\.\pipe\docker_engine:\\.\pipe\docker_engine -v portainer_data:C:\data 6053537/portainer-ce

如果你要启用ssl访问,远程主机建议启用,端口443和证书路径/certs请自行更改

docker run -d -p 8000:8000 -p 443:9443 --name portainer --restart always -v
      ~/local-certs:/certs -v portainer_data:/data 6053537/portainer-ce -v /var/run/docker.sock:/var/run/docker.sock --ssl
      --sslcert /certs/portainer.crt --sslkey /certs/portainer.key

或者你也可以启用Nginx反代,下面是代码

  location / {
    proxy_pass http://127.0.0.1:9000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_read_timeout 300s;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }

如果你只想要访问youname/portainer这样的子目录也可以

location ^~ /portainer/ {
  proxy_pass http://127.0.0.1:9000/;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_read_timeout 300s;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
}

目录

  • 一、DD重装系统
    • 1.1 下载(当前系统是 Linux)
    • 1.2 下载(当前系统是 Windows)
    • 1.3 安装 Linux
      • 可选参数
    • 1.4 实操
  • 二、设置和开启虚拟内存swap
    • 2.1 介绍
    • 2.2 设置步骤
    • 2.3 一键命令
  • 三、开启TCP BBR拥塞控制算法,加速网络访问
    • 3.1 什么是BBR
    • 3.2 操作步骤
    • 3.3 Linux网络优化TCP窗口调优
  • 四、Fail2banSSH防御脚本
  • 五、挂载数据盘
    • 5.1 查看磁盘信息
    • 5.2 硬盘实体使用情况
    • 5.3 显示磁盘分区挂载情况
    • 5.4 格式化数据盘 (注意数据安全)
    • 5.5 挂载磁盘到目录
    • 5.6 查看挂载是否成功
    • 5.7 配置重启自动挂载
  • 六、获取Linux性能和硬件信息
    • 6.1 融合怪测评脚本
    • 6.2 YABS
  • 七、安装docker
    • 7.1 使用官方安装脚本自动安装
    • 7.2 手动安装
    • 7.3 卸载 docker
    • 八、安装中文版portainer
    • 8.1 一键安装代码
    • 8.2 163镜像安装
    • 8.3 Docker Desktop on Windows 安装中文 Portainer

以下为我自己在执行过程中参考网上资料进行的步骤,在此做个备份记录,希望可以帮助到有同样需求的伙伴

一、DD重装系统

这里使用的是 https://github/bin456789/reinstall 大佬的DD脚本。

[!WARNING]
❌ 本脚本不支持 OpenVZ、LXC 虚拟机

请改用 https://github/LloydAsp/OsMutation

1.1 下载(当前系统是 Linux)

国外服务器:

curl -O https://raw.githubusercontent/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh

国内服务器:

curl -O https://gitlab/bin456789/reinstall/-/raw/main/reinstall.sh || wget -O reinstall.sh

1.2 下载(当前系统是 Windows)

!!!请先关闭 Windows Defender实时保护 功能。该功能会阻止 certutil 下载任何文件。!!!

解决 Windows 7 下无法下载脚本

由于不支持 TLS 1.2、SHA-256、根证书没有更新等原因,Vista,7 和 Server 2008 (R2)
可能无法自动下载脚本,因此需要手动下载,具体操作如下:

用 IE 下载 (先在 IE 高级设置里启用 TLS 1.2),或者通过远程桌面,将这两个文件保存到同一个目录

  • https://raw.githubusercontent/bin456789/reinstall/main/reinstall.bat

  • https://www.cygwin/setup-x86.exe

使用时运行下载的 reinstall.bat

国外服务器:

certutil -urlcache -f -split https://raw.githubusercontent/bin456789/reinstall/main/reinstall.bat

国内服务器:

certutil -urlcache -f -split https://gitlab/bin456789/reinstall/-/raw/main/reinstall.bat

1.3 安装 Linux

  • 用户名 root 默认密码 123@@@,首次开机可能要等几分钟才能成功登录
  • 安装最新版可不输入版本号
  • 最大化利用磁盘空间:不含 boot 分区(Fedora 例外),不含 swap 分区
  • 自动根据机器类型选择不同的优化内核,例如 CloudHWE 内核
  • 安装 Red Hat 时需填写 https://access.redhat/downloads/content/rhel 得到的 qcow2 镜像链接
  • 重装后如需修改 SSH 端口或者改成密钥登录,注意还要修改 /etc/ssh/sshd_config.d/ 里面的文件
bash reinstall.sh centos      9
                  anolis      7|8
                  almalinux   8|9
                  rocky       8|9
                  redhat      8|9   --img='http://xxx/xxx.qcow2'
                  opencloudos 8|9
                  oracle      7|8|9
                  fedora      40|41
                  nixos       24.05
                  debian      9|10|11|12
                  openeuler   20.03|22.03|24.03
                  alpine      3.17|3.18|3.19|3.20
                  opensuse    15.5|15.6|tumbleweed
                  ubuntu      16.04|18.04|20.04|22.04|24.04 [--minimal]
                  kali
                  arch
                  gentoo

可选参数

  • --password PASSWORD 设置密码
  • --ssh-port PORT 修改 SSH 端口(安装期间观察日志用,也用于新系统)
  • --web-port PORT 修改 Web 端口(安装期间观察日志用)
  • --hold 2 安装结束后不重启,此时可以 SSH 登录修改系统内容,系统挂载在 /os (此功能不支持 Debian/Kali)

[!TIP]
安装 Debian/Kali 时,x86 可通过后台 VNC 查看安装进度,ARM 可通过串行控制台查看安装进度。

安装其它系统时,可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。

即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。

实验性功能

云镜像安装 Debian

  • 适合于 CPU 较慢的机器

bash bash reinstall.sh debian --ci

ISO 安装 CentOS, AlmaLinux, Rocky, Fedora

  • 仅支持内存大于 2G 且为动态 IP 的机器
  • 密码 123@@@,SSH 端口 22,不支持用参数修改

bash bash reinstall.sh centos --installer

ISO 安装 Ubuntu

  • 仅支持内存大于 1G 且为动态 IP 的机器
  • 密码 123@@@,SSH 端口 22,不支持用参数修改

bash bash reinstall.sh ubuntu --installer

1.4 实操

在本文中,我们安装debian12系统,并且自定义ssh端口和密码,使用以下命令:

bash reinstall.sh debian 12 --password <自定义密码> --ssh-port <自定端口>

等待命令跑完后,使用 reboot 重启系统,让系统自动开始安装,大约10分钟后,使用刚才设定的端口和密码ssh连上系统。

由于刚重装的系统可能有些软件包不是最新的,这时我们可以使用apt update 和 apt upgrade命令更新下:

apt update
apt upgrade -y

apt update命令
这是一个主要在新系统安装之后或安装新软件包之前调用的命令。apt update 命令更新 Linux 系统的包索引或包列表。它不会升级任何软件包。它为您系统上的 PPA 和存储库获取最新的软件包列表,并确保它们是最新的。

apt upgrade命令
apt upgrade命令将软件包升级到最新版本,并在需要它们作为依赖项时安装新软件包。它不会删除任何包,如果指定要删除任何包,它会跳过它们。

除此之外,还可以安装一些基础的软件包和命令:

apt install wget curl sudo vim net-tools -y


二、设置和开启虚拟内存swap

2.1 介绍

SWAP是Linux系统中的一种虚拟内存,用于扩展物理内存的容量。当系统内存不足时,SWAP会将部分磁盘空间用作虚拟内存,以支持更多的应用程序运行。在VPS服务器环境中,SWAP的配置同样至关重要,它可以帮助我们提高系统的并发处理能力和稳定性。

2.2 设置步骤

  1. 打开SWAP功能:在Linux系统中,通过运行以下命令开启SWAP功能:
sudo swapoff -a
  1. 创建SWAP文件:使用以下命令创建一个指定大小的SWAP文件:
sudo fallocate -l <size> /swapfile

其中,代表SWAP文件的大小,单位为GB。例如,要创建一个2GB的SWAP文件,可以输入:

sudo fallocate -l 2G /swapfile
  1. 设置文件权限:为了确保SWAP文件的安全性,需要设置文件的权限,仅允许root用户读写:
sudo chmod 600 /swapfile
  1. 启用SWAP文件:运行以下命令将SWAP文件启用:
sudo mkswap /swapfile
  1. 启用SWAP功能:运行以下命令开启SWAP功能:
sudo swapon /swapfile
  1. 持久化SWAP配置:为了确保SWAP配置在系统重启后依然有效,需要将配置写入磁盘。运行以下命令完成此操作:
sudo echo '/swapfile none swap sw 0 0' >> /etc/fstab
  1. 监控SWAP使用情况:通过运行以下命令,可以查看SWAP的使用情况:
free -h

完整命令:

sudo swapoff -a
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo echo '/swapfile none swap sw 0 0' >> /etc/fstab
free -h

2.3 一键命令

也可以使用一键命令一键设置swap

wget https://www.moerats/usr/shell/swap.sh && bash swap.sh


三、开启TCP BBR拥塞控制算法,加速网络访问

3.1 什么是BBR

BBR 是一种拥塞控制算法, 由Google设计,可以在 Linux 上启用 TCP BBR 可以显著改善服务器整体网络传输效率。
  默认情况下,Linux 使用传统的 Reno 和 CUBIC 拥塞控制算法。
  BBR解决了两个问题:

  1. 在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
  2. 降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。

因此我们可以利用BBR来在服务器上做加速,来提高用网络的链接速度。

3.2 操作步骤

  1. 查看系统当前拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control


这里表示单签默认算法策略是cubic

  1. 配置开启 BBR 算法策略:
# 临时生效
sysctl net.ipv4.tcp_congestion_control=bbr 
sysctl net.core.default_qdisc=fq
 
# 安全追加配置文件永久生效
cat << EOF >> /etc/sysctl.conf
net.ipv4.tcp_congestion_control=bbr
net.core.default_qdisc=fq
EOF
 
# 刷新生效配置
sysctl -p

  1. 检查是否生效:
sysctl net.ipv4.tcp_congestion_control


net.ipv4.tcp_congestion_control = bbr # 算法策略显示 bbr 说明生效。

3.3 Linux网络优化TCP窗口调优

wget http://sh.nekoneko.cloud/tools.sh -O tools.sh && bash tools.sh

四、Fail2banSSH防御脚本

这是一个利用iptables和开源程序fail2ban来进行服务器简单防爆破的脚本。默认自带SSH防御规则。

安装

wget https://raw.githubusercontent/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log
  1. 第一步选择是否修改SSH端口。
  2. 第二步输入最多尝试输入SSH连接密码的次数
  3. 第三步输入每个恶意IP的封禁时间(单位:小时)

卸载

wget https://raw.githubusercontent/FunctionClub/Fail2ban/master/uninstall.sh && bash uninstall.sh

注意事项
安装完成后请会重启SSH服务,请重新连接SSH会话 若出现SSH无法连接的情况,请检查是否修改过SSH端口,请填写写改后的正确端口进行连接


五、挂载数据盘

有些vps会是系统盘+数据盘的形式,重装完后,数据盘需要自己手动挂载上去。

5.1 查看磁盘信息

列出所有可用块设备的信息,而且还能显示他们之间的依赖关系:

lsblk

5.2 硬盘实体使用情况

fdisk -l

5.3 显示磁盘分区挂载情况

# 按MB展示
df -k
# 按GB展示
df -h


此时可以看出,我们的数据盘sda并没有挂载

5.4 格式化数据盘 (注意数据安全)

mkfs.ext4 <磁盘路径>

从上一步的磁盘信息可以知道,数据盘路径为:/dev/sda,所以我们使用mkfs.ext4 /dev/sda 来格式化分区

5.5 挂载磁盘到目录

#在根目录下创建文件夹
mkdir /data
#挂载到目录
mount /dev/sda /data

5.6 查看挂载是否成功

5.7 配置重启自动挂载

云服务器系统挂载磁盘时不推荐使用mount的方法来挂载磁盘,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,所以推荐使用UUID来配置自动挂载数据盘。
5.7.1 查询磁盘分区的UUID
先查看磁盘分区号

blkid /dev/sda


5.7.2 绑定分区与目录
需要在/etc/fstab添加分区信息与目录之间的绑定信息

cat << EOF >> /etc/fstab
UUID=xxxxxxxxxxxxxxxxxxxx /data ext4 defaults 0 1
EOF

六、获取Linux性能和硬件信息

对于刚重装完成的系统,我们可以通过一些脚本

6.1 融合怪测评脚本

使用融合怪测评脚本 https://github/spiritLHLS/ecs?tab=readme-ov-file 可以对服务器的基础信息有所了解

使用命令为:

curl -L https://gitlab/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh


执行完后,会列出当前服务器的基础硬件信息和性能信息

6.2 YABS

除此之外,也可以使用国外比较常用的yabs脚本来测评https://github/masonr/yet-another-bench-script ,执行命令为:

curl -sL https://yabs.sh | bash

curl -sL https://yabs.sh | bash

执行结果如下:

由于这个是国外的脚本,网络测试都是国外的网站,我们可以不测试网络性能,运行 Geekbench 5 测试并禁用 Geekbench 6 测试和iperf (网络性能) 测试

curl -sL https://yabs.sh | bash -s -- -i -5

七、安装docker

7.1 使用官方安装脚本自动安装

安装命令如下:

 curl -fsSL https://get.docker -o get-docker.sh
 sudo sh get-docker.sh

7.2 手动安装

  1. 更新软件包
    首先,更新现有的软件包和包缓存:
sudo apt update
sudo apt upgrade
  1. 安装依赖包
    安装一些需要的依赖包,这些包允许 apt 使用 HTTPS 协议来访问 Docker 仓库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
  1. 添加 Docker 官方 GPG 密钥
    使用下面的命令来添加 Docker 官方的 GPG 密钥:
curl -fsSL https://download.docker/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 添加 Docker 仓库
    添加 Docker 官方的 APT 软件源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 更新 APT 软件包缓存
    添加仓库后,更新 APT 包索引:
sudo apt update

确保你现在从 Docker 官方仓库安装 Docker 而不是 Debian 默认仓库:

apt-cache policy docker-ce

你应该看到它指向 https://download.docker/,确保这就是官方的 Docker 仓库。

  1. 安装 Docker
    现在,你可以安装 Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 启动并验证 Docker
    启动 Docker 并设置为开机自启:
sudo systemctl start docker
sudo systemctl enable docker

你可以使用以下命令来验证 Docker 是否安装成功:

sudo docker --version

运行以下测试命令确保 Docker 正常工作:

sudo docker run hello-world

7.3 卸载 docker

删除安装包:

sudo apt-get purge docker-ce

删除镜像、容器、配置文件等内容:

sudo rm -rf /var/lib/docker

八、安装中文版portainer

这里使用的是https://hub.docker/r/6053537/portainer-ce 源码仓库https://github/eysp/portainer-ce⁠

8.1 一键安装代码

docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce

如果不想用默认的端口,可以把其中的 -p 9000:9000 可以改为-p <自定义端口>:9000

8.2 163镜像安装

portainer-ce中文,访问dockerhub网速不好的尝试

docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock hub-mirror.c.163/6053537/portainer-ce

8.3 Docker Desktop on Windows 安装中文 Portainer

docker run -d -p 9000:9000 --name portainer --restart always -v \\.\pipe\docker_engine:\\.\pipe\docker_engine -v portainer_data:C:\data 6053537/portainer-ce

如果你要启用ssl访问,远程主机建议启用,端口443和证书路径/certs请自行更改

docker run -d -p 8000:8000 -p 443:9443 --name portainer --restart always -v
      ~/local-certs:/certs -v portainer_data:/data 6053537/portainer-ce -v /var/run/docker.sock:/var/run/docker.sock --ssl
      --sslcert /certs/portainer.crt --sslkey /certs/portainer.key

或者你也可以启用Nginx反代,下面是代码

  location / {
    proxy_pass http://127.0.0.1:9000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_read_timeout 300s;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }

如果你只想要访问youname/portainer这样的子目录也可以

location ^~ /portainer/ {
  proxy_pass http://127.0.0.1:9000/;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_read_timeout 300s;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
}

发布评论

评论列表 (0)

  1. 暂无评论