我最近把一部分开发工作迁移到了VPS上,最初是因为出差期间只带了一台轻薄本,性能不够,想着临时用一下,结果用了一段时间发现某些方面反而更顺手。AI Agent可以挂在上面24小时跑,不用担心本地机器休眠或者断电。构建和测试不占本地资源,笔记本风扇安静了很多。
当然云开发不是万能的,需要本地GPU、对延迟极度敏感的场景还是本地更合适。但对于很多日常编码任务,$15/月的VPS是个值得认真考虑的选项。
这套方案适不适合你
先说清楚适合和不适合的场景,省得配好了发现不是自己想要的。
适合的情况:主要用Cursor、VS Code、NeoVim这类编辑器写代码;项目跑在Linux/Docker环境;需要服务器长期运行AI Agent或定时任务;经常在不同设备之间切换工作。
不适合的情况:需要本地GPU跑模型训练或推理;做iOS开发需要Xcode;对代码补全延迟极度敏感(网络延迟会影响体验);完全没有Linux基础。
服务器选型:什么配置够用
最低配置和推荐配置
| 用途 | CPU | 内存 | 存储 |
|---|---|---|---|
| 轻量编码+测试 | 2核 | 4GB | 40GB NVMe |
| 主力开发环境 | 4核 | 8GB | 80GB NVMe |
| 多项目+Docker | 4核 | 16GB | 100GB NVMe |
4核8GB的配置能同时跑多个Docker容器、编译中等规模项目、运行AI Agent,对大多数个人开发者来说够用。
节点选择影响体验
这套方案最重要的隐性因素是延迟。SSH连接到VPS写代码,延迟超过100ms会有明显的输入卡顿感,超过200ms基本不可用。
选离自己物理位置近的节点:国内用户选香港、新加坡或日本,美国用户选美国西海岸,欧洲用户选德国或荷兰。买之前先ping一下目标节点,测试晚高峰延迟,不要只看白天数据。
Hetzner欧洲节点性价比最高,4核8GB约€8-10/月;Vultr、DigitalOcean全球节点多,按小时计费灵活;DMIT对国内用户有CN2 GIA线路优化,延迟稳定。
完整配置流程
第一步:基础安全配置
买好VPS拿到IP之后,先做安全配置,再装开发环境。
# SSH连接
ssh root@你的服务器IP
# 更新系统
apt update && apt upgrade -y
# 创建普通用户(不要一直用root)
adduser dev
usermod -aG sudo dev
# 切换到新用户
su - dev
配置SSH密钥登录(在本地机器执行):
# 本地生成密钥
ssh-keygen -t ed25519 -C "vps-dev"
# 上传公钥到服务器
ssh-copy-id dev@你的服务器IP
确认密钥登录成功后,禁用密码登录:
sudo nano /etc/ssh/sshd_config
# 找到并修改:
# PasswordAuthentication no
# Port 2222 (改掉默认端口)
sudo systemctl restart sshd
配置防火墙:
sudo ufw allow 2222/tcp # 你改的SSH端口
sudo ufw allow 8080/tcp # code-server端口(后面会用)
sudo ufw enable
第二步:安装开发环境
# 安装基础工具
sudo apt install -y git curl wget build-essential
# 安装Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker dev
newgrp docker
# 验证Docker
docker run hello-world
安装Node.js(如果需要):
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs
安装Python开发环境:
sudo apt install -y python3 python3-pip python3-venv
第三步:部署code-server(浏览器内VS Code)
code-server让你在任何浏览器里运行完整的VS Code,不需要本地安装任何东西:
curl -fsSL https://code-server.dev/install.sh | sh
配置code-server,编辑~/.config/code-server/config.yaml:
bind-addr: 127.0.0.1:8080
auth: password
password: 你的安全密码
cert: false
设置开机自启:
sudo systemctl enable --now code-server@dev
用Nginx反代加HTTPS(推荐,让访问更安全):
sudo apt install nginx certbot python3-certbot-nginx -y
Nginx配置:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
申请SSL证书:
sudo certbot --nginx -d your-domain.com
配置完成后,浏览器访问https://your-domain.com,输入密码进入完整VS Code环境。
第四步:连接Cursor(推荐方式)
如果你用Cursor而不是code-server,直接用Remote SSH连接更流畅:
在本地~/.ssh/config添加:
Host my-vps
HostName 你的服务器IP
User dev
Port 2222
IdentityFile ~/.ssh/id_ed25519
在Cursor里按Cmd+Shift+P,搜索"Remote-SSH: Connect to Host",选择my-vps,Cursor会自动在服务器上安装必要组件,之后就在服务器环境里工作了。
让AI Agent持续运行
这是云开发环境相比本地最大的优势:程序可以一直跑,不依赖你的电脑在不在线。
用systemd管理长期运行的Agent服务:
sudo nano /etc/systemd/system/my-agent.service
[Unit]
Description=My AI Agent
After=network.target
[Service]
Type=simple
User=dev
WorkingDirectory=/home/dev/my-agent
ExecStart=/home/dev/.venv/bin/python agent.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable my-agent
sudo systemctl start my-agent
用journalctl -u my-agent -f实时查看Agent运行日志。
常见问题处理
延迟高导致输入卡顿
首先确认你的网络到服务器的延迟,用ping 服务器IP测试。如果延迟本身不高但SSH体验卡,可以在~/.ssh/config里加上:
Host my-vps
...
ServerAliveInterval 60
TCPKeepAlive yes
Compression yes
Compression yes在网络较慢时能改善体验,但在本地网络好的情况下可以不开。
内存不够了
查看内存使用情况:
free -h
# 查看哪些进程占内存最多
ps aux --sort=-%mem | head -10
如果内存经常接近上限,先加Swap顶着,再考虑升级配置:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
code-server无法访问
依次检查:code-server服务是否在运行(systemctl status code-server@dev)、Nginx是否正常(systemctl status nginx)、防火墙端口是否开放(ufw status)。
成本算清楚
4核8GB的VPS采用Vultr约$20/月(Hostinger约$10/月)。和MacBook Pro的月摊销成本相比,这个价格确实很低。
当然这不是说VPS能完全替代本地机器,而是说很多开发工作可以迁移到云端,本地机器只负责轻量的操作和显示,配一台入门级笔记本就够了。
如果你的主力工作是Web开发、后端服务、AI应用开发,这套方案值得认真试一试。