1. 选择供应商与账号注册
- 推荐供应商:AWS Lightsail、DigitalOcean、Vultr、Linode、Hetzner(任选其一)。
- 步骤:访问官网 → 点击注册,填写邮箱并验证。
- 支付方式:绑定信用卡或PayPal。建议先选择按小时计费的入门套餐(1~2 vCPU,1~2GB 内存)。
2. 选择实例配置与机房位置
- 地区选择:选择美国机房(如纽约、硅谷、达拉斯等)以获得最低延迟。
- 操作系统:推荐 Ubuntu 22.04/20.04 或 CentOS 8(本文以 Ubuntu 为例)。
- 存储与带宽:按需选择,建议至少 25GB 磁盘与 1TB 带宽。确认快照/备份选项。
3. 生成并上传 SSH 密钥
- 本地生成(Linux/macOS):打开终端,执行:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_vps
会生成 id_rsa_vps 和 id_rsa_vps.pub 两个文件。
- 登录供应商控制面板,创建实例时选择“使用 SSH 密钥”,粘贴 id_rsa_vps.pub 内容。
4. 创建实例(VPS)
- 在控制面板新建 Droplet/Instance:选择刚才的 SSH 密钥、操作系统、机房、套餐。
- 给实例命名并确认创建。创建完成后获取公网 IP(记下)。
5. 初次登录与系统更新
- 首次登录(Mac/Linux/WSL):
ssh -i ~/.ssh/id_rsa_vps ubuntu@your_server_ip
- 登录后立即更新:
sudo apt update && sudo apt upgrade -y
- 创建非 root 管理用户:
sudo adduser deployuser
sudo usermod -aG sudo deployuser
6. SSH 安全与基础硬化
- 禁止密码登录并只允许密钥:编辑 /etc/ssh/sshd_config,设置:
PermitRootLogin no
PasswordAuthentication no
然后 sudo systemctl restart sshd
- 配置 UFW 防火墙:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'(若用 Nginx)
sudo ufw enable
7. 安装 Web 服务(以 Nginx + Node 或 PHP 为例)
- 安装 Nginx:sudo apt install nginx -y;启动并允许防火墙端口。
- 安装后端运行环境(示例 Node.js):
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
- 测试:在 /var/www/html 放置 index.html 或配置 Nginx 站点文件。
8. 配置域名解析与 Nginx 站点
- 在域名服务商添加 A 记录指向 VPS 公网 IP,生效通常几分钟到 24 小时。
- Nginx 站点配置示例:在 /etc/nginx/sites-available/yourdomain.conf 新建配置,设置 server_name、root、location 等,测试 sudo nginx -t 并 sudo systemctl reload nginx。
9. 获取并安装 SSL(Let's Encrypt)
- 安装 Certbot:sudo apt install certbot python3-certbot-nginx -y
- 自动获取证书并配置 Nginx:sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
- 设置自动续期(系统已包含 cron):sudo systemctl status certbot.timer,或测试 sudo certbot renew --dry-run。
10. 备份、监控与自动化
- 启用供应商快照或自动备份(控制面板开启)。
- 安装监控工具:比如 htop、netdata(curl -sL https://my-netdata.io/kickstart.sh | bash)。
- 设置 fail2ban 避免暴力破解:sudo apt install fail2ban -y,配置 /etc/fail2ban/jail.local。
11. 性能优化与生产上线检查
- 配置 swap(若内存小):sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile 并写入 /etc/fstab。
- 检查端口、SSL、域名解析:curl -I https://yourdomain.com;浏览器访问确认静态/动态页面正常。
- 如果使用数据库,确保仅本地绑定或使用私有网络。
12. 常见问题与排错步骤(概览)
- 无法 SSH:检查本地密钥权限(chmod 600),确认安全组/防火墙放行 22 端口并使用正确 IP 与用户。
- Nginx 报错:sudo nginx -t 查看详细错误并查看 /var/log/nginx/error.log。
13. FAQ 1
Q:如何在登录失败后恢复对 VPS 的访问?
A:如果通过密钥登录失败,先在控制面板使用“重置 SSH 密钥”或临时启用控制台(多数供应商提供基于浏览器的串口控制台),进入后检查 /root/.ssh/authorized_keys 或 /home/用户/.ssh/authorized_keys 的公钥是否正确,并修复权限(chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys)。
14. FAQ 2
Q:域名解析已设置但访问仍显示旧 IP 或超时怎么办?
A:先本地执行 nslookup yourdomain.com 或 dig yourdomain.com +short,确认解析到正确 IP。若 DNS 刷新慢可等待 TTL,或在本地 hosts 临时指向 IP 测试。确保防火墙/安全组允许 80/443 端口。
15. FAQ 3
Q:如何保证上线后的稳定与安全维护?
A:启用自动备份与快照、定期更新系统与应用(sudo apt update && sudo apt upgrade -y)、配置监控告警(如 UptimeRobot、Prometheus+Grafana 或 Netdata),并制定应急恢复流程(快照恢复、数据库备份还原)。
来源:美国vps云服务器部署指南从注册到上线的详细流程解读