1.
确认用途(网站、API、备份等),估算CPU、内存、带宽与磁盘。针对台湾用户优先选台北或近岸节点以降低延迟。
常见厂商:GCP(asia-east1)、AWS(ap-northeast-1/台北近似)、阿里/腾讯/本地小厂。比较价格、是否支持快照与带宽计费。
2.
在控制台选择镜像(推荐 Ubuntu LTS / Debian / CentOS),选择合适的 SSH Key 或密码认证,记下公网 IP 与控制面板后台初始密码。
若有防火墙规则,确保开放 SSH(22)、HTTP(80)、HTTPS(443) 等端口;若使用特殊端口,提前在控制台添加安全组规则。
3.
在本地生成密钥并上传:ssh-keygen -t rsa -b 4096,然后 ssh-copy-id user@IP 或在控制台粘贴公钥。
首次登录后执行(Ubuntu/Debian):sudo apt update && sudo apt upgrade -y;(CentOS):sudo dnf update -y 或 sudo yum update -y。
4.
创建普通管理员用户:sudo adduser username && sudo usermod -aG sudo username;测试切换:su - username。
禁用 root 密码登录:编辑 /etc/ssh/sshd_config,将 PermitRootLogin prohibit-password 改为 no,PasswordAuthentication no(若只用密钥),重启 SSH:sudo systemctl restart sshd。
安装防火墙与防暴力(以 Ubuntu 为例):sudo apt install ufw fail2ban -y;启用基本规则:sudo ufw allow OpenSSH; sudo ufw allow http; sudo ufw allow https; sudo ufw enable。
5.
安装 Nginx:sudo apt install nginx -y;启动并设置开机:sudo systemctl enable --now nginx。
安装 PHP-FPM:sudo apt install php-fpm php-mysql -y;配置 Nginx 的 server block 并将 fastcgi_pass 指向 php-fpm socket,重载 nginx:sudo nginx -t && sudo systemctl reload nginx。
安装数据库:sudo apt install mariadb-server -y;初始化安全配置:sudo mysql_secure_installation。
6.
在域名服务商添加 A 记录指向 VPS 公网 IP,等待 DNS 生效(可用 dig +short 域名 或 nslookup 测试)。
安装 Certbot:sudo apt install certbot python3-certbot-nginx -y;自动申请证书并配置 nginx:sudo certbot --nginx -d example.com -d www.example.com,设置自动续期:sudo systemctl enable --now certbot.timer。
7.
问题:无法 SSH 登录。排查顺序:1) 检查本地网络与目标 IP(ping IP);2) 确认控制台安全组/防火墙是否放通 22;3) 使用 --vvv 查看 SSH 连接日志:ssh -vvv user@IP;4) 登录控制台查看系统日志或重置密钥。
如果 console 可达,可临时开启密码登录以修复:在 /etc/ssh/sshd_config 设置 PasswordAuthentication yes,然后设置临时密码,修复后记得恢复并重启 sshd。
8.
问题:网站 502/504 或服务不可达。排查:1) systemctl status nginx / php-fpm / mysql;2) 查看日志:sudo journalctl -u php-fpm -n 200、/var/log/nginx/error.log;3) 使用 ss -tulpn 或 netstat -tulpn 检查端口监听;4) 检查磁盘与内存:df -h、free -m。
根据日志修复配置错误或重启服务:sudo systemctl restart php-fpm nginx mysql。
9.
问:VPS 延迟高,如何定位?
答:先用 ping/traceroute 定位到哪个节点延迟高,再在不同时间测试带宽(iperf3),检查是否被上游限速或路由劣化,必要时联系厂商更换机房或备案网络方案。
10.
问:磁盘空间用满导致服务异常,如何快速恢复?
答:先找出大文件:sudo du -sh /* | sort -h 或 sudo ncdu /(若未安装可 apt install ncdu),清理临时日志(/var/log)、旧备份或扩容磁盘并在线扩展 filesystem(根据 LVM 或云盘操作)。
11.
问:如何做常规备份与快速回滚?
答:启用云厂商快照做系统级备份(定期快照),针对数据库做逻辑备份(mysqldump)与增量备份(binlog),并测试恢复流程。遇到故障先用快照回滚或创建新实例恢复数据。