拓之

拓之

新到手服务器配置

2024-11-04

新购入了一个阿里云的香港服务器,查询了网络上的一些新到手服务器需要做的事,在这里做一个记录与整合,让服务器变得更加丝滑。

一、系统设置

1. 系统软件,包更新

到手之后第一件事,先把服务器中的一些老旧包更新一下,使用下面的指令。这个耗时会略长

apt update && apt upgrade -y

2. 时区设置

有些境外服务器时区不是上海,有时会影响程序运行

sudo timedatectl set-timezone Asia/Shanghai

查看当前shell时区:

timedatectl

列出所有时区:

timedatectl list-timezones

二、系统优化

关于这些优化的指令,都是从网络上下载一个一键操作脚本,因此可以先创建一个tools文件夹,把所有脚本放在里面统一管理

mkdir tools && cd tools

1. BBR加速

BBR 是 Google 提出的一种新型拥塞控制算法(Bottleneck Bandwidth and RTT),全称为瓶颈带宽和往返传播时间。

在 Linux 系统中,BBR 主要有以下特点和作用:

提高网络性能:它可以显著提高吞吐量和降低 TCP 连接的延迟,使数据传输更加高效。
适应不同网络环境:适合高延迟、高带宽的网络链路,以及慢速接入网络的用户,能在一定丢包率的网络链路上充分利用带宽,并降低网络链路上的缓冲区占用率从而降低延迟。
优化拥塞控制:BBR 改变了传统基于丢包反馈的拥塞控制机制,通过精确测量往返传播时间(RTT)和瓶颈带宽等参数来更有效地控制数据发送速率,避免了传统算法中因单纯丢包判断拥塞而导致的带宽利用率不高和端到端延迟大等问题。
提升网络稳定性:有助于减少网络拥塞和数据包丢失,提高网络的稳定性和可靠性。

输入下面的指令,会下载一个4和1脚本,可以开启BBR/BBRPlus/魔改版本的,我选择了BBRPlus

wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

image.png

2. 添加SWAP

在 Linux 系统中,SWAP(交换空间)是指一块磁盘空间,用于在物理内存(RAM)不足时,作为临时的扩展内存来使用。当系统的物理内存使用量接近饱和,Linux 内核会将一些不常使用的内存页交换到 SWAP 分区中,从而为当前运行的程序腾出更多的物理内存。当这些被交换出去的内存页再次被需要时,它们会被重新换回到物理内存中。SWAP 分区的存在可以在一定程度上避免由于物理内存不足导致系统性能严重下降或进程被强制终止的情况。

因此,SWAP对于内存小的VPS非常有必要,可以提高我们的运行效率。
输入下面的指令下载脚本

wget -O swap.sh https://raw.githubusercontent.com/yuju520/Script/main/swap.sh && chmod +x swap.sh && clear && ./swap.sh

如下图,一般设置内存的1.5-2倍,我是2G内存,所以我设置为4096(注意:这里单位是MB)
image-fxvh.png

三、常用软件安装

这里是我自己用的软件,择需安装

1. docker

用的最多的,容器化管理搭建的项目,非常方便管理,也好配置

非大陆服务器

curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

大陆服务器

curl https://install.1panel.live/docker-install -o docker-install && sudo bash ./docker-install && rm -f ./docker-install

检查安装成功

docker -v

检查docker-compose安装成功,新版本的docker自带docker compose不需要自己另外安装了,但是命令是docker compose中间不带横杠

docker compose version

设置开机自启

sudo systemctl enable docker

卸载docker

sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo apt-get remove docker docker-engine
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

docker设置

docker日志设置,不设置的话有存满硬盘的可能
创建或修改文件 /etc/docker/daemon.json,并增加以下配置(3份日志、每份10M)

 vim /etc/docker/daemon.json
{
       "log-driver": "json-file",
       "log-opts": {
               "max-file": "3",
               "max-size": "10m"
       }
}

重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

2. 安装fail2ban

Fail2ba保护你的SSH等服务免受非法访问的威胁.
保护自己的服务器

apt install fail2ban

修改配置
fail2ban的配置文件通常位于 /etc/fail2ban/ 目录下,fail2ban的.conf配置文件都是可以被.local覆盖,所以配置方式建议是添加.local文件,不修改原来的配置文件。

vim /etc/fail2ban/jail.local
[DEFAULT]
#忽略的IP列表,不受设置限制(白名单)
ignoreip = 127.0.0.1

#允许ipv6
allowipv6 = auto

#日志修改检测机制(gamin、polling和auto这三种)
backend = systemd

#针对各服务的检查配置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置

[sshd]

#是否激活此项(true/false)
enabled = true

#过滤规则filter的名字,对应filter.d目录下的sshd.conf
filter = sshd

#ssh端口
port = ssh

#动作的相关参数
action = iptables[name=SSH, port=ssh, protocol=tcp]

#检测的系统的登陆日志文件
logpath = /var/log/secure

#屏蔽时间,单位:秒
bantime = 86400

#这个时间段内超过规定次数会被ban掉
findtime = 86400

#最大尝试次数
maxretry = 3

设置开机自启并重启

#开机自启
sudo systemctl enable fail2ban
#重启
sudo systemctl restart fail2ban
# 查看状态
sudo systemctl status fail2ban 

3. 1panel

1Panel 是一个国产的 Linux 服务器运维管理面板,通过docker容器化的方式管理各种项目
参考官方安装教程,我是debian的,直接运行下面的指令

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

参考链接

【配置优化】我拿到VPS服务器必做的那些事
一台新到手的VPS服务器必做十二项配置(以Ubuntu为例)