1. 初始准备与选购VPS
a) 选择机房与套餐:优先考虑台湾机房或最近的节点,注意带宽上限、流量、CPU与内存。
b) 系统选择:推荐使用 Ubuntu 22.04 LTS(长期支持,社区资料多)。
c) 账号准备:准备好手机号、邮箱、支付方式;注册时打开控制面板能创建快照与重装系统的供应商更好。
2. 本地准备与SSH密钥
a) 在本地生成 SSH 密钥:
ssh-keygen -t ed25519 -C "your_email@example.com"
b) 将公钥粘贴到 VPS 控制面板或首次登录时的authorized_keys。
c) 测试登录:
ssh -i ~/.ssh/id_ed25519 root@your_vps_ip,确认能无密码登录。
3. 系统初始配置(安全第一)
a) 更新系统:
sudo apt update && sudo apt upgrade -y
b) 新建非root用户并赋sudo:
adduser deploy && usermod -aG sudo deploy
c) 禁止root远程登录:编辑
/etc/ssh/sshd_config 将
PermitRootLogin no,重启 sshd:
sudo systemctl restart sshd
4. 防火墙与基础安全工具
a) 安装并配置 UFW:
sudo apt install ufw -y && sudo ufw allow OpenSSH && sudo ufw allow 80 && sudo ufw allow 443 && sudo ufw enable
b) 安装 Fail2Ban:
sudo apt install fail2ban -y,启用对 SSH 的保护。
c) 安装并配置自动更新(unattended-upgrades):确保紧急补丁自动安装。
5. 选择网站堆栈:LEMP(Nginx + MariaDB + PHP)示例
a) 安装 Nginx:
sudo apt install nginx -y
b) 安装 MariaDB:
sudo apt install mariadb-server -y,运行安全脚本:
sudo mysql_secure_installation
c) 安装 PHP-FPM 与常用扩展:
sudo apt install php-fpm php-mysql php-curl php-xml php-mbstring -y
6. 配置虚拟主机与域名解析
a) 在域名管理面板添加 A 记录:主机名 @ 或 www 指向 VPS 公网 IP。生效需要等待 DNS 解析。
b) 在 Nginx 创建站点配置:新建
/etc/nginx/sites-available/example.com,示例 server 块绑定 80/443 并使用 root 指向 /var/www/example.com。
c) 启用站点并测试:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx
7. 获取 HTTPS(Let's Encrypt)
a) 安装 Certbot:
sudo apt install certbot python3-certbot-nginx -y
b) 自动申请并部署证书:
sudo certbot --nginx -d example.com -d www.example.com,选择自动重定向。
c) 验证续期:
sudo certbot renew --dry-run,并确保有 cron 或 systemd 定期续期。
8. 部署 CMS(以 WordPress 为例)
a) 下载并解压 WordPress 到 /var/www/example.com:
wget https://cn.wordpress.org/latest-zh_CN.tar.gz && tar xzf latest-zh_CN.tar.gz && sudo mv wordpress/* /var/www/example.com
b) 创建数据库与用户:登录 MariaDB 执行:
CREATE DATABASE wpdb; CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL ON wpdb.* TO 'wpuser'@'localhost'; FLUSH PRIVILEGES;
c) 设置权限:
sudo chown -R www-data:www-data /var/www/example.com && sudo find /var/www/example.com -type d -exec chmod 755 {} \; && sudo find /var/www/example.com -type f -exec chmod 644 {} \;
9. 性能优化与缓存
a) 启用 PHP-FPM 池优化(调整 pm.max_children 等按内存)。
b) 使用 Nginx 缓存或反向代理(fastcgi_cache),或在应用层启用缓存插件(WordPress 可用 WP Super Cache、W3 Total Cache)。
c) 可选 Redis 缓存:安装 redis-server 并启用 PHP redis 扩展以做对象缓存。
10. 备份、监控与自动化运维
a) 备份策略:数据库每日备份(mysqldump),网站文件每晚 rsync 到另一台存储或对象存储,并保留历史(如 7 天)。
b) 快照与镜像:使用 VPS 控制面板快照功能做系统级备份,关键升级前先快照。
c) 监控告警:安装简单的监控(Prometheus/Netdata/Monit),配置磁盘、CPU、内存与服务状态告警。
11. 常见问题与维护提示
a) 权限问题:遇到 403 或无法写入,检查 /var/www 所有者与权限,www-data 必须有写权限的目录(如 wp-content/uploads)。
b) SSL 问题:证书未生效先检查 DNS 生效与 Nginx 配置是否正确指向证书文件。
c) 性能瓶颈:使用 top/htop/ab/gtmetrix 定位,考虑提升 VPS 配置或接入 CDN(Cloudflare 等)。
12. 问:新手购买台湾VPS最应该注意什么?
问:选择
台湾VPS时哪几点最重要?
答:优先关注机房延迟(对目标用户)、带宽峰值与计费方式(包月/按流量)、系统快照与重装功能、售后支援(技术与中文服务)以及安全性(是否支持防火墙/私有网络)。
13. 问:如何快速恢复被攻击的站点?
问:站点被入侵后应先做哪些步骤?
答:立即断开可疑服务(如停止网站或切换到维护页面),从快照或最近备份恢复干净系统,检查并更换所有密钥与密码,审计日志找出入侵路径并修补(更新软件、关闭不必要端口、安装 fail2ban)。
14. 问:新手如何保证网站长期可靠运行?
问:运维新手日常要做哪些例行工作?
答:定期系统与应用更新、每日或定期备份并验证可恢复性、监控资源与告警、设置自动续期 SSL、定期检查安全日志并限制管理入口(如 IP 白名单或二步验证)。
来源:从零到一的建站经验谈在vps论坛台湾vps云服务器板块收集的实战帖