VPS 优化:买完之后该做的八件事
一台新 VPS 到手是裸的:swap 没开、SSH 还在用密码登录、文件句柄是默认值。这八件事做完,一台机器才算真能用。
8 分钟读完 · 更新于 2026-10-25
顺序很重要:先安全,再性能
顺序是:先换 SSH 密钥登录、再开防火墙、最后才做性能调整。
反过来的话,你调内核参数的时候如果把 SSH 配错了,会把自己关在门外——而这时候你可能还没设好密钥登录。
八件事
- 建一个普通用户,别用 root 跑日常
adduser deploy,然后给需要的 sudo 权限。日常操作都切过去,root 只在装系统时用。
- 换 SSH 密钥登录,关掉密码登录
把公钥放进 ~/.ssh/authorized_keys,然后改 /etc/ssh/sshd_config:PasswordAuthentication no、PermitRootLogin no。改完先别关窗口,另开一个终端能连上再退出——这一步做错就是把自己锁在门外。
- 开防火墙,只放行真正要用的端口
Debian / Ubuntu 上用 ufw:先 allow OpenSSH,再 allow 80 和 443,最后 ufw default deny incoming && ufw enable。注意顺序——先放行 SSH 再开默认拒绝,否则会把自己踢下线。
- 加 fail2ban(可选但推荐)
公网 IPv4 基本都会被扫。fail2ban 会自动把反复尝试登录的 IP 封掉。apt install -y fail2ban && systemctl enable --now fail2ban。
- 开 swap(内存小于 2G 时尤其必要)
1 核 1G 的机器跑 Docker 时内存很容易不够,一 OOM 就把服务全带走。fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile,再把 /swapfile none swap sw 0 0 写进 /etc/fstab。swap 不能替代内存,只是防止进程被 OOM 杀掉。
- 调文件句柄上限
默认 1024 对并发服务偏小。改 /etc/security/limits.conf:* soft nofile 65535、* hard nofile 65535。确认生效:ulimit -n。
- 改内核参数(BBR 等)
拥塞控制算法换个更抗丢包的:modprobe tcp_bbr && echo 'tcp_bbr' > /etc/modules-load.d/bbr.conf,再在 /etc/sysctl.conf 里加 net.core.default_qdisc = fq、net.ipv4.tcp_congestion_control = bbr。⚠️ BBR 需要 Linux 4.9 及以上的内核,很老的镜像上不存在;不确定就先 uname -r 看看。
- 装完东西清一遍日志和 apt 缓存
小硬盘最容易满的不是数据,是日志。journalctl --vacuum-time=3d、rm -rf /var/lib/apt/lists/*、docker 的日志要在 /etc/docker/daemon.json 里配 log-opts(max-size 20m),否则容器日志能把根分区写满。
别做的事
别照抄一键脚本。 那些脚本会 sed 改系统文件、改防火墙规则、改 SSH 配置,你不知道它改了什么,出问题连回滚都难。看不懂就别跑。
别装面板当优化手段。 宝塔、1Panel 这类面板解决的是「管理方便」,不是「性能更好」,它们自己还要吃内存。1G 内存的机器装面板,往往比不装还慢。
别为了「优化」去改不属于你的东西。 改系统参数是你的事,改机房的上游策略不是。
常见追问
一定要 swap 吗?
内存 2G 以上、不跑内存密集型服务的话可以不开。但开了没坏处——它只是在你内存不够时让进程变慢,而不是直接被杀。
BBR 一定更快吗?
不一定。BBR 在有丢包的链路上通常更稳(这正是跨境线路的常态),但在几乎不丢包的链路上差别很小。判断标准是晚高峰丢包率——不丢包就别折腾。
优化能提多少速度?
优化的作用是「不再因为系统设置丢分」,不是「凭空变快」。跨境链路的瓶颈在网络层,服务器上怎么调都改不了运营商的拥塞。