logo NodeSeekbeta

【保姆级】VPS 拿到手后必做的初始化配置脚本v2

基于上一版本内容进行了优化,增加了更多的选项,欢迎引用


【保姆级】VPS 拿到手后必做的初始化配置脚本v2

拿到一台新的 VPS(小鸡),无论是建站还是跑服务,打好地基最重要。
本文整理了一套标准的初始化流程,涵盖了系统更新、ZRAM/SWAP内存优化、日志瘦身、网络加速与安全防护。

适用系统:推荐 Debian 11/12 或 Ubuntu 22.04 LTS
注意:文中涉及修改系统配置,建议操作前先备份重要数据。


一、 系统基础设置

1. 更新软件源与组件

拿到机子第一件事,先更新系统现有的软件包。这里提供两种方案,请根据你的使用习惯选择:

方案 A:极简基础环境(适合仅跑单一服务 / 洁癖党)
只安装最核心的下载工具、证书组件和防火墙,保持系统纯净。

apt update && apt upgrade -y
apt install -y sudo curl wget ca-certificates ufw

方案 B:全能实用环境(推荐,适合日常折腾 / 建站主力机)
在基础环境之上,增加了常用编辑器、系统监控、防断网终端以及 Python 环境,一步到位。

apt update && apt upgrade -y
apt install -y sudo curl wget ca-certificates ufw nano vim git htop tmux screen unzip tar lsof jq python3 python3-pip python3-venv python3-systemd

💡 工具科普htop 是更直观的监控;tmux/screen 是防断线神器,跑长耗时脚本(如编译环境)必用!

2. 配置 UFW 防火墙

很多刚开的 VPS 默认防火墙是全开的,开启防火墙铸造你的第一道防线。

# 放行必要的端口(⚠️极其重要,不放行 SSH 会被关在门外!)
ufw allow ssh       # 或使用: ufw allow 你的SSH端口号/tcp
ufw allow 80/tcp    # 放行 HTTP,用于申请证书
ufw allow 443/tcp   # 放行 HTTPS,用于加密访问

# 启动防火墙
ufw enable

3. 校正系统时间

很多海外 VPS 默认不是国内时间,看日志极不方便,建议改为上海时间。

# 设置时区为上海
sudo timedatectl set-timezone Asia/Shanghai

4. 限制系统日志大小(防硬盘撑爆)

很多新手不知道,Debian/Ubuntu 的 systemd-journald 日志如果不加限制,几个月后可能会不知不觉吃掉几个 G 的空间,对 10G/20G 小硬盘的机器非常不友好。

# 1. 立即清理现有日志,仅保留最新的 500M
sudo journalctl --vacuum-size=500M

# 2. 修改配置:限制日志总大小为 500M,单文件最大 50M
sudo sed -i -E 's/^#?SystemMaxUse=.*/SystemMaxUse=500M/' /etc/systemd/journald.conf
sudo sed -i -E 's/^#?SystemMaxFileSize=.*/SystemMaxFileSize=50M/' /etc/systemd/journald.conf

# 3. 重启日志服务生效
sudo systemctl restart systemd-journald

💡 避坑提示:
如果在执行 sudo 命令时遇到类似 sudo: unable to resolve host XXX: Name or service not known 的提示,说明系统主机名未绑定本地 IP。这不影响命令执行,但看着烦。可以运行下面这行命令修复:
echo "127.0.0.1 $(hostname)" | sudo tee -a /etc/hosts
另外,如果执行清理日志时提示 freed 0B,说明你的日志还不到 500M,属于正常现象,无需理会。


二、 内存优化:ZRAM 与 传统 SWAP (一键脚本)

小内存机器必备!防止内存爆满导致失联或服务崩溃。这里提供两种业界主流的一键脚本方案,请二选一即可。

方案 A:ZRAM 内存压缩(推荐:512M-1G 极小内存或低 I/O 机器)

ZRAM 不读写硬盘,而是通过占用少量 CPU 资源在内存中开辟一块压缩区。速度极快,且能保护便宜小鸡那可怜的固态硬盘寿命

使用 spiritLHLS 大佬的一键配置脚本:

curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

方案 B:传统物理 SWAP(推荐:硬盘大、对 CPU 要求高的机器)

如果你的物理内存已经有 2G 以上,或者运行的服务(如建站数据库)极其吃 CPU 不适合用 ZRAM,可以使用传统的 SWAP 分区。

使用 yuju520 的一键分配脚本:

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

三、 内核与 BBR 加速

SSH 连接后输入命令 uname -r,只要输出的版本号 大于 4.9,系统即自带 BBR。手动开启 BBR 命令如下:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

# 验证是否成功加载
lsmod | grep bbr

四、 修改 SSH 端口 (安全加固)

默认的 22 端口是黑客脚本暴力破解的重灾区。改成高位端口可以大幅减少扫描骚扰。

⚠️ 预警:NAT VPS 不要改! NAT 机器直接使用商家提供的端口映射即可。
⚠️ 注意:请务必先在防火墙里放行新端口:sudo ufw allow 55555/tcp

# 将 SSH 端口修改为 55555
sudo sed -i 's/^#\?Port 22.*/Port 55555/g' /etc/ssh/sshd_config

# 重启 SSH 服务
sudo systemctl restart sshd

(注意:重启后请不要立即关闭当前 SSH 窗口,先新开一个窗口尝试用新端口连接,以防失联。)


五、 安装 Fail2ban 防爆破

Fail2ban 可以自动封禁多次试错的 IP,配合修改端口食用效果更佳。

apt install fail2ban -y

# 创建配置文件
cat << 'EOF' > /etc/fail2ban/jail.local
[DEFAULT]
ignoreip = 127.0.0.1
allowipv6 = auto
backend = systemd

[sshd]
enabled = true
filter = sshd
port = ssh
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
bantime = 86400
findtime = 86400
maxretry = 3
EOF

# 启动与验证
sudo systemctl enable fail2ban --now
sudo systemctl restart fail2ban
fail2ban-client status

六、 Cloudflare WARP 配置 (网络补全与解锁)

WARP 是什么?
解决 IPv6-Only 访问 IPv4 资源的问题,或是用来解封 Netflix 等流媒体。推荐使用 fscarmen 大佬的一键脚本:

wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh

七、 Docker 环境配置

非大陆服务器一键安装并设置开机自启:

curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
sudo systemctl enable docker --now
docker compose version

(如果是大陆服务器,请使用 curl https://install.1panel.live/docker-install -o docker-install && sudo bash ./docker-install )


八、 最后的测试环节

配置全搞定后,跑个脚本看看这台小鸡体质和网络如何吧!

1. 机器性能跑分测试

# NodeQuality 测试脚本 (测试硬件性能与基本网络)
bash <(curl -sL https://run.NodeQuality.com)

2. 网络回程路由及流媒体解锁测试

国内用户最关心的还是三网回程线路看剧解锁

# 一键测试流媒体解锁情况 (RegionRestrictionCheck)
bash <(curl -L -s check.unlock.media)

# 安装 NextTrace 路由跟踪工具
curl nxtrace.org/nt | bash
# 跑完后可以自己测回程,例如测上海电信回程:
nexttrace 202.96.209.133

📚 参考文献与进阶阅读

感谢以下作者与开源社区提供的方法论和一键脚本工具支持:

系统安全与初始化优化
1.一台新到手的VPS服务器必做的十二项配置
2.我拿到VPS服务器必做的那些事
3.防暴力破解,不止靠 2FA——fail2ban 自动封禁恶意 IP
4. Linux日志管理实战:rsyslog与journald大小限制配置指南
5.Linux 修改日志轮转 logrotate 大小限制配置

ZRAM / SWAP 内存优化
6.SWAP, ZRAM and ZSWAP 原理浅析
7.为 Linux 服务器开启 ZRAM 来节约内存
8. linux 扩容|缩容 (增加与减小swap分区)
9. 一键ZRAM脚本 - spiritLHLS
10. 一键SWAP脚本 - yuju520

进阶网络工具与脚本
11. WARP 实现单栈 VPS 添加 IPv4 / IPv6 双栈出口并解锁流媒体

1234
1234

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有63695位seeker

🎉欢迎新用户🎉