1. 首先盘点现有服务:网站流量(峰值/日均)、CPU/内存使用、磁盘占用、数据库大小、并发连接数、带宽需求与备份频率。记录OS、Web服务器(nginx/apache)、数据库(MySQL/Postgres)、语言运行时(PHP/Python/Node)版本。估算需要的实例规格(vCPU、内存、磁盘IO、网络带宽)。
2. 对比提供商报价(按月、按小时)、带宽计费、出中国大陆的延迟、快照/备份成本与备份保留策略。小型站点建议1 vCPU/1GB/20GB SSD(约5–10 USD/月),中型站点2–4 vCPU/4–8GB/80–200GB(约20–80 USD/月),大型或高IO需专用云盘与更高规格。注意流量费用(egress:0–0.12 USD/GB 不等)。
3. 在控制台选择台湾(或最近亚太)机房,选择镜像(推荐Ubuntu 20.04/22.04 LTS),启用SSH key。设置安全组/防火墙规则只开放必要端口(22/80/443),并限制SSH来源IP。启动后记录公网IP和内网IP(如果有)。
4. 登录后执行:sudo apt update && sudo apt upgrade -y;创建非root用户并设置sudo;配置UFW基本规则:sudo ufw allow OpenSSH;sudo ufw allow 'Nginx Full';sudo ufw enable。安装常用软件:sudo apt install nginx certbot python3-certbot-nginx mysql-server -y(或替换数据库/运行时)。
5. 小型网站可用rsync或scp:在目标机执行 rsync -avz --delete user@old_ip:/var/www/site/ /var/www/site/;对于数据库,导出并导入:mysqldump -u root -p dbname > dump.sql;scp dump.sql target:/root/;在目标机 mysql -u root -p dbname < dump.sql。大流量或大数据量使用增量同步与临时只读,或基于主从复制、Percona XtraBackup 实现零停机。
6. 复制 nginx 配置到 /etc/nginx/sites-available/ 与 /etc/nginx/sites-enabled/,更新 root 路径与 socket/端口,测试 nginx -t;安装PHP-FPM(如 PHP8.1):sudo apt install php8.1-fpm php8.1-mysql -y;配置 php-fpm 的 pool 用户和 listen 参数,重启 systemctl restart php8.1-fpm nginx。
7. 切换前把域名 TTL 缩短到 300s(24小时之前最好),使用 letsencrypt 获取证书:sudo certbot --nginx -d example.com -d www.example.com。测试通过后,采用以下流程实现低停机:1) 先做一次全量同步;2) 将站点设置为只读或维护页面;3) 做最后一次增量 rsync,导出最新数据库并导入;4) 修改 DNS 指向新IP;5) 观察访问直到旧IP流量降为零,最后关闭旧服务器。
8. 启用Gzip、缓存头、nginx fastcgi_cache 或 CDN,调整 MySQL 缓冲池(innodb_buffer_pool_size)。定期快照与异地备份:快照用于瞬时恢复,周期性全量备份到对象存储(按GB计费)。安全上开启Fail2Ban、限制SSH登录并使用Key、定期更新系统补丁。
9. 费用大致区分实例费、存储、带宽、快照与备份:小型VPS:约5–10 USD/月(含少量带宽);中型云主机:20–80 USD/月;高IO或企业级:数百美元/月。带宽若超出包月限额,按出站计费,估算每月额外 10–50 USD 依据流量。快照/备份按GB计费(如0.05–0.12 USD/GB/月)。实际费用按流量与IOPS波动。
10. 评估与选型:半天到1天;实例创建与基础配置:30分钟到2小时;环境安装与应用配置:1–4小时;数据同步(小于10GB):30分钟内;中等(10–100GB):1–6小时;大型(>100GB)或数据库复杂:可用整天到数天,使用复制或物理备份能减少业务停机到数分钟。
问:把站点迁移到台湾的月度运营成本大致是多少?
答:小站约5–15 USD/月(基础VPS + 少量带宽),中型站点约20–80 USD/月(更高配置与备份),流量大或需企业支持则数百美元。额外的快照与出站流量会产生可观费用,建议按历史流量估算并留有余量。
问:实际切换DNS与数据导入会造成多长时间停机?
答:如果采用先同步再增量的策略、小站通常停机10–30分钟;中型站点1–3小时;对大型或要求零停机的网站建议用主从复制或同步策略,理论上可将可见停机缩短到几分钟用于最终切换。
问:如果新服务器有问题,如何快速回到旧环境?
答:回滚策略:1) 切换DNS前保留旧服并不关闭;2) 保持旧数据不删除;3) 如果新服不能工作,立刻把DNS TTL改回旧IP或恢复DNS记录,或在流量被引导前使用负载均衡回退。保证备份完整并记录变更步骤可以在30分钟到数小时内恢复。