VPS使用教程:可行做法与顺序
来源: 飞翔小编 2026/11/6 13:32:38 浏览量:0
一、先把「VPS使用教程」拆成十步:顺序错了会白花钱

「VPS使用教程」不是一个动作,是一条有依赖关系的链路。下面这十步的顺序不能乱,每一步都为下一步提供输入:
| 步骤 | 做什么 | 产出 | 依赖 |
|---|---|---|---|
| 1 | 确定用途与预算档位 | 一份配置清单 | 无 |
| 2 | 算单位成本,挑商家 | 候选套餐 2–3 个 | 1 |
| 3 | 买按月不年付 | 一台机器 | 2 |
| 4 | 改密码、换 SSH 端口 | 可登录的 root | 3 |
| 5 | 装基础环境 | 面板或纯命令行环境 | 4 |
| 6 | 部署业务 | 站点或服务跑起来 | 5 |
| 7 | 配域名、HTTPS | 可访问的站点 | 6 |
| 8 | 装防火墙与监控 | 端口收敛 + 告警 | 7 |
| 9 | 做备份策略 | 可回滚的快照 | 8 |
| 10 | 跑一次验收测试 | 一份实测报告 | 9 |
为什么必须按这个顺序? 最常见的翻车是把第 3 步放到最后:先写代码、想好业务了,才去挑机器,结果发现需要 4 GB 内存而买了 1 GB 的机器,代码跑不起来,钱已经花了。第 1 步定用途、第 2 步算成本、第 3 步才付钱,这三步是省钱的核心,后面七步是让它跑起来的执行。
另一个必须先说的原则:第 3 步一律先买按月。 商品库里年付机型确实便宜,比如 sixtynet 的 LAX-STARTER 年付 200 美元(折合每月 16.67 美元),但年付意味着你在还没验证机器是否符合预期时就锁死了 12 个月的付款。第一次用 VPS 的读者,第一台机器应该按月买——一个月后你才知道自己要的是 1 GB 还是 4 GB 内存、1 TB 流量够不够,这个信息在付款前是没有的。
第三步之后的所有步骤,本文都给具体命令。 但在进入第 2 步算账之前,先把一个数字摆在前面,因为它决定了你应该在哪一档停留。
二、第 2 步的算账:三种单位成本分别对应三种用量

按真实商品库的价格算,单位成本比总价更能说明"这机器值不值"。三个单位分别是:每 GB 内存每月多少钱、每 GB 硬盘每月多少钱、每 TB 流量每月多少钱。
先看内存单位成本(折月价 ÷ 内存 GB):
| 套餐 | 价格 | 周期 | 折月价 | 内存 | 元/GB内存 |
|---|---|---|---|---|---|
| RosCloud-01 | 19.99 美元 | 月付 | 19.99 | 1 GB | 19.99 |
| RosCloud-02 | 29.99 美元 | 月付 | 29.99 | 2 GB | 14.99 |
| RosCloud-03 | 39.99 美元 | 月付 | 39.99 | 4 GB | 10.00 |
| RosCloud-04 | 49.99 美元 | 月付 | 49.99 | 8 GB | 6.25 |
| RosCloud-05 | 59.99 美元 | 月付 | 59.99 | 16 GB | 3.75 |
| RosCloud-06 | 69.99 美元 | 月付 | 69.99 | 24 GB | 2.92 |
| LAX-STARTER | 200 美元 | 年付 | 16.67 | 2 GB | 8.33 |
| LAX-MEDIUM | 800 美元 | 年付 | 66.67 | 8 GB | 8.33 |
| 云途 HK.DS.M | 350 美元 | 月付 | 350 | 32 GB | 10.94 |
| 云途 HK.DS.S | 800 美元 | 月付 | 800 | 128 GB | 6.25 |
这张表里有两个必须记住的结论。
结论一:内存单位成本随档位递减,而且跨商家有可比性。 同一个 8 GB 内存,RosCloud-04 是每 GB 6.25 美元,LAX-MEDIUM 是 8.33 美元,差距 33%。但 RosCloud-04 是月付、LAX-MEDIUM 是年付,付得起月付的人不该为了省 2.08 美元锁死一年。
结论二:单价递减不等于总价递减。 RosCloud-01 到 06 每加一档大约多 10 美元,但内存从 1 GB 加到 24 GB。你要判断的是"我需要几 GB",不是"哪档单价最低"。 一个只需要 1 GB 内存跑静态页或轻量 API 的人,选 RosCloud-06 是纯浪费——每 GB 2.92 美元看着便宜,但你要为多出来的 23 GB 内存付每月 50 美元。
再看硬盘单位成本(折月价 ÷ 硬盘 GB):
| 套餐 | 折月价 | 硬盘 | 元/GB盘 | 磁盘类型 |
|---|---|---|---|---|
| RosCloud-01 | 19.99 | 20 GB | 0.999 | 未注明 |
| RosCloud-05 | 59.99 | 240 GB | 0.25 | 未注明 |
| LAX-STARTER | 16.67 | 40 GB | 0.417 | NVMe SSD |
| LAX-Storage-500G | 33.33 | 500 GB | 0.067 | 未注明 |
| LAX-Storage-1TB | 58.33 | 1000 GB | 0.058 | 未注明 |
| 云途 HK.DS.P | 750 | 1024 GB | 0.732 | SSD |
| 云途 HK.DS.S | 800 | 6000 GB | 0.133 | SAS HDD |
硬盘单位成本的跨度是 0.058 到 1.125 美元,接近 20 倍。 差距最大的不是"便宜 vs 贵",而是用途不同:LAX-Storage-500G 每 GB 硬盘 0.067 美元,是存文件、跑备份的形态;云途 DS.ES.A 每 GB 硬盘 1.0 美元,是要低延迟随机写的数据库形态。磁盘类型的差别比价格差更决定体验——云途 HK.DS.S 明确标 SAS HDD,6000 GB 便宜到每 GB 0.133 美元,但它做不了高 IOPS 随机写;LAX-STARTER 只有 40 GB 但是 NVMe SSD,每 GB 0.417 美元反而更贵。
最后看流量单位成本(折月价 ÷ 流量 TB):
| 套餐 | 折月价 | 月流量 | 元/TB流量 |
|---|---|---|---|
| LAX-STARTER | 16.67 | 5000 GB | 3.413 |
| LAX-MEDIUM | 66.67 | 20000 GB | 3.413 |
| LAX-LARGE | 133.33 | 40000 GB | 3.413 |
| RosCloud-03 | 39.99 | 3072 GB | 13.33 |
| RosCloud-05 | 59.99 | 5120 GB | 11.998 |
| 云途 HK.DS.S | 800 | 40000 GB | 20.48 |
| 云途 HK.DS.M | 350 | 10000 GB | 35.84 |
| 云途 DS.ES.B | 1500 | 30000 GB | 51.2 |
流量单位成本是三个指标里差距最大的:3.413 美元对 51.2 美元,15 倍。 这直接决定了两件事:做下载站、镜像站、批量任务的,流量单位成本是唯一该看的数字;跑网站后台、API 服务的,流量根本用不完,看这个数字没有意义。
还有一个第四个常被忽略的单位成本:每 Mbps 带宽。 这个数字只有在你需要大带宽单点时才有用(比如做下载节点、做流媒体中转),对跑网站的人意义不大。商品库里 LAX-Storage-500G 折合每月 33.33 美元对应 10000 Mbps,每 Mbps 0.0033 美元;云途 HK.DS.B 折合每月 1500 美元对应 2000 Mbps,每 Mbps 0.75 美元——两者的带宽单价差 200 多倍。 这说明这两类产品根本不是同一用途:前者是大带宽大容量的存储分发节点,后者是大内存小带宽的计算节点。
三个指标怎么组合用?一句话总结:内存决定你的服务能开几个进程,硬盘决定你能放多少数据,流量决定你能被访问多少次。三者按你的用途取其一为主,另外两个顺带满足就够了。
再回到第 2 步的开头:先定用途,再选指标。 判断你的用途只需要问自己一个问题——这台机器上跑的是"吃内存的程序"还是"吃数据的东西"? 跑 PHP、Java、Node 这些应用服务,看内存;跑下载站、网盘、备份节点,看硬盘和流量;跑数据库加应用,内存和硬盘的随机写性能一起看。想不清楚就先按最小够用的那档买一个月,用真实业务跑一遍,比在纸上纠结两周有用。
怎么用这三个数字换算成"我能撑多少"? 举例:LAX-MEDIUM 每月 20000 GB 流量,折合 19.53 TB。一个文字为主的博客,典型的一次页面浏览传输约 800 KB(含 HTML、CSS、JS、图片),20000 GB 除以 0.0008 GB 约等于 2500 万次浏览;按月 3 万 PV 算,连这个套餐流量的 12% 都用不到。而一个带视频的站点,一次浏览传输 5 MB,20000 GB 只能撑约 400 万次,同样按月 3 万 PV 算也只是用了 3.75%。结论:中小站的瓶颈从来不是流量,是内存和磁盘。
另一个必须提前算清的是超额流量的价格。 云途的机型在商品库里标了流量重置价格:HK.DS.M 是 200 美元、HK.DS.P 和 HK.DS.S 是 500 美元、DS.ES.B 是 450 美元。这意味着流量用完之后不是停机,而是要额外付费。 200 美元的重置价对折月价 350 美元的 HK.DS.M 来说是一次月费的 57%,这个数字应该写进你的预算表,而不是等账单来了才发现。
算账这一节的落点是:先确定用途,再从三个单位成本里选对指标,最后按月买最低够用的那一档。 下面进入第 4 步之后的具体操作。
三、第 4 步:改密码、换端口、关掉密码登录

拿到机器后第一件事不是装环境,是先锁门。很多人在拿到 VPS 的头十分钟里就开始装面板,结果 root 密码还是初始密码,SSH 端口还是 22,而公网上每分钟都有针对 22 端口的爆破。
第一步,登录并立刻改密码:
ssh root@你的服务器IP
passwd
第二步,换掉 SSH 端口。 先确认新端口没被占用:
ss -tlnp | grep -E ':22|:2222'
没有输出 2222 说明端口可用。改配置:
vi /etc/ssh/sshd_config
找到 Port 22,改成 Port 22 和 Port 2222 两行。先保留 22 再加新端口,是为了改错时还能连上;确认新端口能登录后,再把 22 那一行删掉。 改完重启服务:
systemctl restart sshd
第三步,装 fail2ban。 这一步是很多人跳过、但收益最大的一步:
apt update && apt install -y fail2ban
systemctl enable --now fail2ban
fail2ban 默认对 SSH 连续失败 5 次就封禁 10 分钟。对一台公网机器来说,这一步的性价比高于任何配置升级。
第四步,禁止密码登录、只留密钥。 编辑 sshd_config,确认这三项:
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
改完之前一定要先把自己的公钥放进 /root/.ssh/authorized_keys,否则重启 sshd 之后你就再也登不进去了。生成并上传密钥的命令:
ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@你的服务器IP
第五步,改完立刻开一个新终端验证能登录,再关掉旧窗口。 不要在同一个会话里验证——你会误判成成功。
这一步还应该顺手做一件事:把时区和时间同步校准。 服务器时间不准会让证书校验、定时任务、日志排查全部对不上:
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
timedatectl status
最后显示 System clock synchronized: yes 就算合格。 很多人在排查"证书明明没过期却报无效"时,白花半小时找 SSL 配置,根因其实是服务器时钟跑偏了几小时。
第六步,给 root 设一个日常用的普通账号。 日常操作别直接用 root,一旦某个命令敲错,损失是系统级的:
adduser ops
usermod -aG sudo ops
rsync --archive --chown=ops:ops ~/.ssh /home/ops
改完这个之后,你所有的日常登录都用 ops,需要提权时才 sudo。 这一步在 VPS 上比在本地开发机上更值得做——公网上的 VPS 每天都在被自动扫描,用 root 直接登录等于把最大的权限暴露在最常被攻击的入口上。
这一步的验收阈值:新端口能登录、旧端口 22 拒绝连接、连续输错 5 次密码后 IP 被封、时钟同步状态为 yes。 四条都满足才算完成。
四、第 5 步:装环境,Linux 与面板两条路怎么选

VPS 使用教程到这一步会分成两派:装面板(宝塔、1Panel 之类,图形化,上手快)还是纯命令行(干净,可控,资源占用低)。
先看资源账。 面板本身要吃内存:一个 1 GB 内存的机器上装面板,面板加数据库加 PHP 加 Nginx 全部起来,内存谷值轻松到 85% 以上,机器会长期处于接近 OOM 的状态。而纯命令行的 Nginx + PHP-FPM + MySQL 在 1 GB 上能把内存谷值压在 15% 左右。
这条账直接对应第 2 步算出来的单位成本。 同样 8 GB 内存,RosCloud-04 每月 49.99 美元、LAX-MEDIUM 折合每月 66.67 美元。如果你只跑一两个静态页或一个轻量 API,1–2 GB 内存 + 纯命令行就够,把预算留给流量;如果要跑 WordPress 加数据库加面板,至少 4 GB 起步。
纯命令线路线,Debian/Ubuntu 上的最短路径:
# 基础环境
apt update && apt upgrade -y
apt install -y nginx unzip curl git
# PHP + 常用扩展
apt install -y php-fpm php-cli php-mysql php-nginx php-mbstring php-xml php-curl
# 数据库(二选一)
apt install -y mysql-server
# 或
apt install -y mariadb-server
# 防火墙
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # 换成你的新端口
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
装完检查服务状态:
systemctl status nginx php-fpm mysql
三个都应该是 active (running)。
面板路线要注意三件事:
- 面板安装脚本通常会改 SSH 端口、装自己的防火墙规则,和你第 3 步做的设置可能冲突。装完先 ss -tlnp 看一遍端口;
- 面板自带的安全入口路径(宝塔是 /bt 之类的随机路径),不改的话会被扫描器批量发现;
- 面板的数据库默认配置常常不适合小内存机器,MySQL 默认配置在小机器上容易被 OOM Killer 干掉。
这一步的验收阈值: 装完后用 free -m 看内存,谷值(available 那行)应高于总内存的 15%;用 systemctl is-enabled nginx php-fpm 确认是 enabled 而不是 just enabled,否则重启后服务不会自动起来。
常见的三个报错:
- E: Unable to locate package——包名不对或源没更新,先 apt update 再装;
- nginx: [emerg] bind() to 0.0.0.0:80 failed——80 端口被别的进程占了,用 ss -tlnp | grep :80 找到它;
- php-fpm.service failed to start——多半是配置语法错误,跑 php-fpm -t 看具体行号。
还有两个内存不够时才会遇到的报错,值得提前知道:
- mysqld_safe: Please read "Security" section of the manual to find out how to run mysqld as root!——不是错误,只是提醒你用普通账号跑数据库;
- Killed process 1234 (mysqld) 出现在 dmesg 里——这就是 OOM Killer 干的。 意思是内存不够,内核把最大的进程杀了。对应第 2 步算出来的单位成本:1 GB 机器跑 MySQL 是硬扛不住 的,要么关掉面板,要么升到 4 GB。
判断是不是 OOM 的方法:
dmesg -T | grep -i "killed process\|out of memory"
能看到记录就说明之前真的被杀过,而不是你记错了。 这条命令的输出比"感觉有点卡"可靠得多。
五、第 6 步:部署业务,Nginx 站点配置怎么写

环境装好之后,第 6 步是"把你的东西跑起来"。以最常见的 PHP 站点为例。
先建目录并把权限给对,这是新手最常翻车的地方:
mkdir -p /var/www/example.com/public
chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com
Nginx 站点配置:
vi /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com/public;
index index.php index.html;
client_max_body_size 32m;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
location ~ /\. {
deny all;
}
}
启用配置并重载:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t 这一步千万别省。 直接 reload 如果配置有语法错,会导致 Nginx 起不来,而 systemctl reload 的报错信息通常很模糊。先 -t 验证再 reload,失败时 Nginx 仍保持旧配置运行,业务不会断。
PHP 版本号要和你装的 php-fpm 对上。 上面配置里的 php8.2-fpm.sock 如果你的机器上是 8.1,改成对应版本,否则报 connect() failed (2: No such file or directory)。查实际版本:
ls /run/php/
如果是静态站点,Nginx 配置还能再简化,只需要 root 和 try_files,不需要 PHP 那两段。
这一步的验收阈值: curl -I http://127.0.0.1 返回 HTTP/1.1 200 OK 或 301,且响应头里 Server 不是 Apache(说明 Nginx 确实接管了)。
六、第 7 步:域名解析与 HTTPS 证书

服务跑起来只是本机访问,要让外面的人访问到,需要域名和 HTTPS 两步。
第一步,解析。 在域名服务商处加 A 记录,主机记录填 @ 和 www,记录值填服务器 IP。解析生效通常需要几分钟到几十分钟,用下面这条命令确认,不要凭感觉判断:
nslookup example.com
返回的 Address 和你的服务器 IP 一致,才算解析成功。解析还没生效就去申请证书,必然失败——这是最高频的报错来源。
第二步,申请证书。 用 acme.sh:
curl https://get.acme.sh | sh -s email=你的邮箱
source ~/.bashrc
~/.acme.sh --issue -d example.com -d www.example.com --nginx
申请成功后安装证书并配置自动续期:
~/.acme.sh --install-cert -d example.com \
--key-file /etc/ssl/private/example.com.key \
--fullchain-file /etc/ssl/fullchain/example.com.pem \
--reloadcmd "systemctl reload nginx"
申请失败的常见原因有三个: 域名没解析到本机(最常见)、80 端口被防火墙挡了(ufw allow 80/tcp)、用了 http:// 的验证方式但 80 端口被跳转了。排查顺序就按这个来,先看 DNS,再看防火墙。
第三步,Nginx 里启用 443 并强制跳转 HTTPS:
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/ssl/fullchain/example.com.pem;
ssl_certificate_key /etc/ssl/private/example.com.key;
root /var/www/example.com/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
同时把 80 端口的 server 块改成只做跳转:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
这一步的验收阈值:浏览器地址栏出现锁形图标;curl -sI https://example.com | head -1 返回 HTTP/2 200;用 http:// 访问会自动跳到 https://。
续期要验证一次,不能靠默认配置。 acme.sh 默认的自动续期是 60 天一次,但有些面板会改写 crontab 导致失效。手动查一遍:
~/.acme.sh --cron --force
看输出里显示下次续期时间,就算验证通过。
七、第 8 步:防火墙收敛端口与基础监控

站点跑起来之后要做的是收敛暴露面 + 装监控。第 3 步已经把 SSH 端口换掉了,这里要做的是把防火墙规则固定下来。
先看清现在开了哪些端口:
ss -tlnp
ufw status verbose
典型的最小暴露面应该是:22(或你的新端口)、80、443,其余全关。 如果你在第 5 步装了宝塔面板,面板端口是额外的暴露面,要么用它的安全入口路径,要么限制来源 IP。
SSH 限流也能加一层: 用 iptables 限制每 IP 的 SSH 新建连接速率:
iptables -I INPUT -p tcp --dport 2222 -m conntrack --ctstate NEW -m limit --limit 5/min --limit-burst 2 -j ACCEPT
监控方面,最低配版本是这三样:
# 1. 资源监控,装轻量的探针
apt install -y htop
htop 能看 CPU、内存、swap 的实时占用,比 free 直观得多。
# 2. 磁盘使用,防止日志撑满盘导致服务挂掉
apt install -y prometheus-node-exporter
或者简单一点,直接用定时任务把关键指标发到自己的机器人:
cat > /usr/local/bin/monitor.sh << 'EOF'
#!/bin/bash
MEM=$(free -m | awk '/Mem:/ {print $3/$2*100}')
DISK=$(df -h / | awk 'NR==2 {print $5}')
LOAD=$(cat /proc/loadavg | awk '{print $1}')
echo "内存 ${MEM}% | 磁盘 ${DISK} | 负载 ${LOAD}" | \
curl -s -X POST "你的机器人Webhook地址" -d @-
EOF
chmod +x /usr/local/bin/monitor.sh
# 3. 挂上定时任务,每 10 分钟一次
echo "*/10 * * * * /usr/local/bin/monitor.sh" >> /etc/crontab
这一步的验收阈值:ufw status 里 ACTIVE 且只有三条 ALLOW 规则;free -m 的 available 列不低于总内存的 15%;磁盘使用率低于 80%。
为什么磁盘要单独盯? 磁盘占满是 VPS 上最常见的"突然全挂"原因——日志文件把根分区写满,MySQL 写不进去直接崩,而 FTP 上传、面板操作全部失败。很多人第一反应是"服务商坏了",其实是自己的盘满了。
八、第 9 步:备份策略,以及"备份放在哪"这个真问题

备份这一步的关键不是"备不备",是"备到哪去"。备份和被备份的东西在同一台机器上,等于没备份——机器挂了你连数据都拿不回来。
先做最基础的数据库导出:
mysqldump -u root -p --single-transaction --routines --triggers 数据库名 > /root/backup_$(date +%F).sql
加 --single-transaction 是为了让 InnoDB 表的导出不锁表。这个参数在生产库上必须加,否则导出期间业务会卡住。
再配文件备份,用 rsync 排除不该备份的东西:
rsync -avz --delete \
--exclude 'node_modules/' \
--exclude '.git/' \
--exclude 'cache/' \
/var/www/ user@备份服务器:/backup/www/
然后是最关键的一步:确认备份真的能恢复。 恢复演练要定期做,不做演练的备份等于没有备份:
# 在测试机上验证 SQL 能不能导进去
mysql -u root -p 测试库名 < /root/backup_2026-01-01.sql
备份放在哪,按第 2 步算过的账选:
| 方案 | 适合 | 成本特征 |
|---|---|---|
| 异机 rsync 到另一台 VPS | 中小站、每日备份 | 占用第二台的流量和硬盘 |
| 对象存储(OSS/S3 类) | 有大文件、日增量备份 | 按存储量计费,不占 VPS 流量 |
| 商家控制台的快照功能 | 整机回滚 | 通常按快照数计费 |
用第 2 步算出来的流量单位成本可以判断方案可行性。 假设你的站点目录 2 GB,每天备份一次、保留 14 天,月备份流量约 2 × 30 = 60 GB。以 LAX-MEDIUM 的 20000 GB 月流量计,备份只占 0.3%,流量上完全不是问题——但如果你的站点有 50 GB 的上传文件,这个比例会变成 7.5%,这时选对象存储更省心。
这一步的验收阈值:备份任务在 crontab 或 systemd timer 里实际存在且最近一次执行时间是今天;恢复演练成功导出的 SQL 能在空库里跑完;备份文件不与生产文件在同一台机器。
九、第 10 步:验收测试——五个数字决定你这台机器合不合格

教程的最后一步是验收。不要用"网站能打开"当验收标准——那只证明 Nginx 没崩,不证明机器合格。
第一项,首字节时间(TTFB)。 这决定用户点下链接到看到第一个字的等待:
curl -o /dev/null -s -w 'TTFB: %{time_starttransfer}s Total: %{time_total}s\n' https://example.com/
阈值:国内访问海外节点,首字节 < 300ms;超过 800ms 说明回程线路有明显问题。
第二项,1 MB 下载耗时。
curl -o /dev/null -s -w 'Speed: %{speed_download} B/s Time: %{time_total}s\n' \
https://example.com/testfile.bin
阈值:1 MB 文件下载 < 2 秒,折算带宽 > 500 Kbps。 测的时候一定要在晚高峰时段(20:00–23:00)测,凌晨测出来的数字只证明端口空闲时是通的。
第三项,内存谷值。
free -m
阈值:available 内存不低于总内存的 15%。 1 GB 机器就是 150 MB 以上的余量,8 GB 机器是 1.2 GB 以上。
第四项,磁盘延迟。
fio --name=randwrite --ioengine=libaio --iodepth=32 --bs=4k \
--direct=1 --size=256M --rw=randwrite --group_reporting
阈值:4K 随机写平均延迟 < 1 ms(1000 IOPS 以上)。 注意这测的是虚拟盘的真实性能,标称 NVMe 但实测只有几百 IOPS 的情况很常见。
第五项,丢包率。
mtr -rwc 100 你的服务器IP
阈值:全程丢包率 0%,单跳丢包不超过 1%。 如果丢包集中在某一跳,问题在那一段路由,换机房比升配有效。
把五项填进这张表,才算真正验收:
| 项目 | 合格线 | 你的实测 |
|---|---|---|
| 首字节时间 | < 300ms | |
| 1 MB 下载 | < 2 秒 | |
| 内存谷值 | > 15% | |
| 4K 随机写延迟 | < 1 ms | |
| 丢包率 | 0% |
五项里有任何一项不达标,先别急着退机器,先判断是哪一类问题: 延迟高但丢包 0,通常是线路类型问题,换一个标称优化线路的机房更有效;内存谷值低,是配置选小了,升一档;磁盘延迟高但 CPU 空闲,是底层存储的问题,换 NVMe 标签的机型。
按你的情况,下一步该看哪家
上面讲的是判断标准,但多数人最后还是想问一句「那我该买谁」。按你的实际情况对照下面几条,直接去看对应的机型页比继续比价更快:
- 只想搭个站、预算优先:先看价格最低那档够不够用,别为用不上的配置付钱。看 iwebfusion 当前机型与价格
- 主要访客在国内、在意打开速度:先确认回程线路,再谈配置。看 racknerd 当前机型与价格
- 跑游戏服或实时业务:看上行抖动与防御能力,普通套餐往往不达标。看 cloudcone 当前机型与价格
- 只是开发测试、临时用:按小时或月付,用完就删,别买年付。看 digitalocean 当前机型与价格
价格与库存以商家页面当日显示为准,下单前建议先确认退款窗口与是否支持按月付费。
十、什么情况下不该按这套教程选 VPS,以及该换成什么

这套教程适合的是轻量到中等负载的网站和 API 服务。有几类情况按这套教程走会撞墙,得换方案。
第一种:你的访客主要在国内,且对打开速度敏感。 教程第 9 步的 TTFB 阈值 < 300ms,在海外通用线路上是达不到的。这时不该选的是普通海外 VPS 里的通用 BGP 线路,而是该换成明确标注 CN2 GIA、9929、CMIN2 这类回国优化线路的香港或美国节点。 替换方案:香港节点配 CN2 GIA,物理距离近且走优化回程;或者美国西海岸(LAX)配 9929。判断标准很直接——先测一遍 TTFB,超过 800ms 就说明线路需要换,而不是配置需要升。
第二种:你的业务需要真正的内核级隔离和固定 IP 池。 教程全程用的是普通虚拟化 VPS,共享宿主机内核。需要跑特定内核模块、做严格多租户隔离、或者要一批固定归属的 IP 时,不该选普通 VPS,该换成独立服务器或带独立 IP 段的云主机。
第三种:你的磁盘需求是"大容量 + 高随机写"。 第 2 步的硬盘单位成本表里,6000 GB SAS HDD 的机器每 GB 只要 0.133 美元,但它做不了高 IOPS 随机写;同时你也不能反过来买 1000 GB NVMe 来解决存储问题,那是拿单价换需求。 大容量存储机(LAX-Storage-500G 每 GB 0.067 美元)适合备份、归档、下载源;数据库和缓存要用 NVMe SSD 机型(LAX-MEDIUM、LAX-STARTER 标注 NVMe SSD)。这两类需求应该分机器承担,不要指望一台机器两头兼顾。
第四种:你的流量会突然爆发。 教程第 2 步算过,按月固定流量算,中小站远用不完配额。但如果是下载站、镜像站、软件分发,流量可能一天之内吃掉一个月的量。 这时不该选的是"流量刚好够"的普通套餐,而是看超额重置价能不能接受的机型——云途 HK.DS.M 的重置价 200 美元、HK.DS.S 是 500 美元,如果你的日峰值流量能吃掉 2 TB 以上,这个数字就得进预算。或者直接找不限流量的产品。
第五种:你需要固定带宽而不是流量配额。 教程全程按流量算账,但如果你的业务是实时音视频、游戏服、持续推流,该看的指标是带宽和抖动,不是月流量总量。 这时该换的是标称带宽高、且带宽类型说明清楚的产品,而不是把流量套餐买大。
最后一类更极端的情况:你根本不想要 root 权限和命令行。 如果你的需求只是"有个地方放静态页面",共享虚拟主机比 VPS 更便宜也更省事,虽然本文的教程完全用不上。
结语:按你的情况选哪一档,别再看笼统推荐

把上面的账和阈值收成四条明确结论:
如果你只是第一次用 VPS、做个人博客或小型展示站:选 RosCloud-01(19.99 美元/月,2 vCPU、1 GB 内存、20 GB 硬盘、500 Mbps、1024 GB 流量),纯命令行不装面板。1 GB 内存跑静态页绰绰有余,内存谷值能压在 15% 以上。按月买,跑完上面五项验收再决定要不要升。
如果你要跑 WordPress 或者带数据库的应用:至少 4 GB 内存起步,选 RosCloud-03(39.99 美元/月,4 vCPU、4 GB 内存、80 GB 硬盘、3072 GB 流量),每 GB 内存 10.00 美元是这条产品线单位成本的拐点;也可以考虑 LAX-STARTER(200 美元/年,折合 16.67 美元/月,2 GB 内存 + NVMe SSD + 2000 Mbps),每 GB 内存 8.33 美元更便宜、磁盘还是 NVMe,代价是年付锁定 12 个月,先按月验证过再转年付。
如果你的核心诉求是流量便宜、要跑下载站或镜像站:选 LAX-MEDIUM(800 美元/年,折合 66.67 美元/月,8 GB 内存、160 GB NVMe、10000 Mbps、20000 GB 流量),每 TB 流量 3.413 美元是这个商品库里最低的一档。注意它年付,且大流量场景下要先把流量峰值摸清。
如果你主要服务国内访客、且在意打开速度:先按第 9 步测 TTFB,超过 800ms 就别在通用线路上折腾了,直接换标称 CN2 GIA、9929、CMIN2 的香港或美国优化线路机型,或者用云途的香港 DS 系列(HK.DS.P 折合每月 750 美元,64 GB 内存、1024 GB SSD、2000 Mbps、40000 GB 流量,流量超额重置价 500 美元)——但要清楚它的每 TB 流量成本是 19.2 美元,比 LAX 系列高一个量级,它卖的是线路和本地机房,不是流量性价比。
一句话总结这套教程的用途:它教你把一台 VPS 从"能连上"变成"能用住"。但它不能替你决定该买谁——决定买谁,得先回到第 2 步那三张单位成本表,看清你到底要内存、要硬盘还是要流量,然后再去看线路和机房位置。
价格与库存来自渠道库快照(数据时间 2026-11-06 13:28),以官网当日报价为准。下单前建议先确认退款窗口、是否支持按月付费,以及流量超额后的计费方式。
