新 VPS 服务器配置指南:从零搭建高性能安全环境

基于多年服务器运维经验,整理出一套完整的 VPS 配置流程,涵盖安全加固、性能优化、网络加速等关键步骤,助你快速搭建生产级服务器环境。

搞了这么多年开发,我发现很多人拿到新 VPS 后都是一顿瞎操作,要么安全性不够,要么性能太差。其实配置服务器也是有套路的,掌握了这套流程后,基本上 10 分钟就能搞定一台生产级服务器。

今天就把这些年总结的 VPS 配置经验分享出来,从基础安全到性能优化,涵盖一个完整的服务器配置流程。这套方法已经在生产环境中验证过很多次。

一、基础安全配置

1. 更改 SSH 端口

为什么要改 SSH 端口?因为全世界的扫描器都在盯着 22 端口,通过长期观察发现,不改端口的话,服务器天天都在被爆破。

1
2
3
4
5
6
7
8
# 编辑 SSH 配置
vi /etc/ssh/sshd_config

# 找到 Port 这一行,把 22 改成你想要的端口
Port 12345

# 重启 SSH 服务
systemctl restart sshd

2. 配置密钥登录

密码登录真的不安全,这几年见过太多服务器因为弱密码被黑的案例。服务器早就改成了密钥登录,密钥登录才是王道。

首先生成 SSH 密钥:

1
2
3
4
5
# 如果你还没有密钥
ssh-keygen -t ed25519

# 复制公钥到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@your_server_ip

然后禁用密码登录:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 编辑 SSH 配置
vi /etc/ssh/sshd_config

# 添加或修改以下配置
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes

# 重启 SSH 服务
systemctl restart sshd

二、系统优化

1. 开启 BBR 拥塞控制

BBR 是 Google 开发的拥塞控制算法,对网络性能提升特别明显。特别是在高延迟网络环境下,实际测试效果非常显著。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 检查是否已开启 BBR
lsmod | grep bbr

# 如果没有返回结果,执行以下命令
modprobe tcp_bbr
echo "tcp_bbr" | sudo tee --append /etc/modules-load.d/modules.conf

# 添加系统参数
echo "net.core.default_qdisc=fq" | sudo tee --append /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee --append /etc/sysctl.conf

# 生效配置
sysctl -p

2. 配置 SWAP 虚拟内存

对于小内存 VPS(1GB 及以下),SWAP 特别重要。很多云服务商默认不配置 SWAP,观察到的结果是内存一用完系统就开始杀进程。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 创建 2GB 的 SWAP 文件
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# 设置开机自动挂载
echo '/swapfile none swap sw 0 0' >> /etc/fstab

# 优化 SWAP 参数
echo 'vm.swappiness=10' >> /etc/sysctl.conf
echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf

3. 清理防火墙规则

很多系统默认的防火墙配置很混乱,习惯先清空再重新配置。这样可以避免很多潜在的冲突。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 清空所有 iptables 规则
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -F
iptables -X

# 设置默认策略
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

# 保存配置
iptables-save

三、安装基础工具

1. 安装 Docker

Docker 现在基本上是必备工具了,所有项目都离不开容器化,安装也很简单:

1
2
3
4
5
6
7
8
9
# 非大陆服务器
curl -fsSL <https://get.docker.com> | bash

# 大陆服务器(使用镜像加速)
curl <https://install.1panel.live/docker-install> -o docker-install && sudo bash ./docker-install

# 启动并设置开机自启
systemctl enable docker
systemctl start docker

2. 配置 Nginx QUIC

HTTP/3 已经成为主流,在实际项目中测试发现性能提升明显,推荐直接安装支持 QUIC 的 Nginx 版本。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 添加 Nginx QUIC 源
curl -sS <https://n.wtf/public.key> | gpg --dearmor > /usr/share/keyrings/n.wtf.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/n.wtf.gpg] <https://mirror-cdn.xtom.com/sb/nginx/> $(lsb_release -sc) main" > /etc/apt/sources.list.d/n.wtf.list

# 安装 Nginx
apt update
apt install nginx-extras -y

# 设置开机自启
systemctl enable nginx
systemctl start nginx

四、开发环境配置

1. 配置 ZSH

默认的 bash 体验真的不太好,用了多年 bash 后发现 ZSH 更好用,推荐换成 ZSH + Oh My Zsh。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 安装 ZSH
apt install zsh curl

# 安装 Oh My Zsh
sh -c "$(curl -fsSL <https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"

# 设置 ZSH 为默认 Shell
chsh -s /usr/bin/zsh

# 安装常用插件
git clone --depth=1 <https://github.com/zsh-users/zsh-syntax-highlighting.git> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone --depth=1 <https://github.com/zsh-users/zsh-autosuggestions> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

然后配置 .zshrc

1
2
3
4
5
6
7
8
# 编辑插件配置
vi ~/.zshrc

# 在 plugins 行添加
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

# 重新加载配置
source ~/.zshrc

2. 配置 VIM

如果习惯用 VIM,建议花点时间配置一下,能提升很多体验。配置就很简单但实用。

1
2
3
4
5
6
7
8
9
# 安装 VIM
apt install vim-gtk3 git

# 下载 Molokai 配色方案
mkdir -p ~/.vim/colors/
wget <https://raw.githubusercontent.com/tomasr/molokai/master/colors/molokai.vim> -O ~/.vim/colors/molokai.vim

# 安装 Vundle 插件管理器
git clone --depth=1 <https://github.com/VundleVim/Vundle.vim.git> ~/.vim/bundle/Vundle.vim

然后配置 .vimrc

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
" 基础配置
set nocompatible
set number
set syntax on
set tabstop=4
set shiftwidth=4
set expandtab
set hlsearch
set incsearch

" 配色方案
colorscheme molokai

" Vundle 配置
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" 插件列表
Plugin 'VundleVim/Vundle.vim'
Plugin 'jiangmiao/auto-pairs'
Plugin 'itchyny/lightline.vim'

call vundle#end()

五、安全加固

1. 安装 Fail2Ban

Fail2Ban 是一个非常好用的防爆破工具,基本上每台服务器都需要,基本上每台服务器都会装。

1
2
3
4
5
# 安装 Fail2Ban
apt install fail2ban

# 创建本地配置
vi /etc/fail2ban/jail.local

配置内容:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[DEFAULT]
ignoreip = 127.0.0.1
backend = systemd
bantime = 86400
findtime = 86400
maxretry = 3

[sshd]
enabled = true
port = 12345  # 你修改的 SSH 端口
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
1
2
3
# 启动并设置开机自启
systemctl enable fail2ban
systemctl restart fail2ban

2. 配置防火墙

推荐使用 UFW,配置简单直观:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 安装 UFW
apt install ufw

# 默认策略
ufw default deny incoming
ufw default allow outgoing

# 允许 SSH 端口(修改后的端口)
ufw allow 12345/tcp

# 允许 HTTP/HTTPS 端口
ufw allow 80/tcp
ufw allow 443/tcp

# 启用防火墙
ufw enable

六、性能监控

1. 基础监控脚本

习惯在服务器上放一个简单的监控脚本,定期检查系统状态很重要:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#!/bin/bash
# simple_monitor.sh

echo "=== 系统监控报告 $(date) ==="
echo "CPU 使用率:"
top -bn1 | grep "Cpu(s)" | awk '{print $2}' | awk -F'%' '{print $1}'

echo "内存使用情况:"
free -h

echo "磁盘使用情况:"
df -h

echo "网络连接数:"
ss -s

echo "=== 监控完成 ==="

2. 设置定时任务

1
2
3
4
5
# 编辑 crontab
crontab -e

# 添加每小时的监控任务
0 * * * * /path/to/simple_monitor.sh >> /var/log/system_monitor.log 2>&1

总结

这套配置流程用了好几年了,基本能满足大部分场景的需求:

  1. 安全第一:SSH 端口修改、密钥登录、Fail2Ban、防火墙

  2. 性能优化:BBR 拥塞控制、SWAP 配置、内核参数调优

  3. 开发体验:ZSH + Oh My Zsh、VIM 配置、Docker 安装

  4. 网络加速:HTTP/3 支持、QUIC 协议

最后提醒一下:配置完成后一定要做一次完整的备份,吃过亏,知道 SSH 配置和防火墙规则特别重要,避免后续出现问题无法登录。

如果觉得这篇文章对你有帮助,欢迎点赞收藏。有任何问题也可以在评论区讨论,我会及时回复。

Licensed under CC BY-NC-SA 4.0
最后更新于 2026-01-11 00:00