1.
前期准备与时间预估
- 目标:明确业务需求(并发、带宽峰值、清洗阈值)。
- 时间预估:购买与开通物理/云主机通常10-60分钟;高防清洗策略、BGP或带宽调整可能需1-4小时;证书与监控配置再需0.5-2小时。总体预留一个工作日(8小时)作为常规迁移窗口,复杂场景建议两天。
- 文档与账号:准备当前服务器root/管理员账号、DNS商账号、备案信息、SSL私钥与证书、数据库备份策略说明。
2.
选择高防配置与下单注意项
- 选择:带宽(Mbps/Gbps)、清洗阈值(Gbps)、防护模式(靠近源/清洗后回源/BGP直通)、公网IP数量。
- 注意:确认是否提供浮动IP/CN2/直连回源、是否支持端口转发与自定义黑白名单、是否支持SSL直通或TLS卸载。
- 下单时记录开通工单编号,询问预计开通时间与支持联系方式。
3.
环境准备与基础安全配置(到手服务器第一步)
- 登录:ssh root@新IP(建议先用临时端口),修改默认端口并创建不带密码的sudo用户。示例:adduser deployer && usermod -aG sudo deployer。
- 基本防护:安装fail2ban/ufw并设置SSH限制,示例:ufw allow 22/tcp; ufw allow 80,443/tcp; ufw enable。
- 时间同步与包更新:timedatectl set-timezone Asia/Hong_Kong; apt update && apt upgrade -y 或 yum update -y。记录这一步约10-30分钟。
4.
网站静态与应用代码迁移步骤(文件层)
- 将现网网站静态与代码同步到新服务器:推荐使用rsync,命令示例(增量、保留权限、显示进度):rsync -azP --delete -e "ssh -p 22" /var/www/html/ root@新IP:/var/www/html/。
- 先做一次全量同步(离线时间不要求短),上线前在维护窗口做增量同步。增量同步通常需几分钟到数小时,取决于数据量与带宽。
- 检查文件权限、依赖安装(pip/composer/npm),示例:cd /var/www/html && composer install --no-dev --optimize-autoloader。
5.
数据库迁移(MySQL为例)
- 简单方案(可接受短暂停服):在维护窗口停止应用写入,导出并导入。命令:mysqldump -u root -p --single-transaction --routines --triggers --events --databases dbname > db.sql;scp db.sql 到新机;mysql -u root -p < db.sql。耗时受数据量影响,几十MB几分钟,几GB可能几十分钟以上。
- 最小停机方案(零或极短停机):建立目标服务器为从库,同步binlog至最新,切换主从角色或使用gtid。步骤:在老库启用binlog,创建复制用户,配置新库为从库并等待同步;在窗口内停写并做final binlog flush & position,切换应用指向新库。此方案需DB经验,时间取决复制落后量。
- 核验:在新库上执行校验行数、表结构一致性与随机数据校验。
6.
SSL/证书与域名DNS切换策略
- SSL迁移:导出私钥与证书(PEM),scp 到新机的合适目录(如/etc/ssl/),确保权限600。若使用Let’s Encrypt,可在新机使用certbot重新申请,需短暂DNS指向或使用DNS-01挑战。
- DNS策略:上线前48小时将域名TTL降为300(或更低,如60),以便切换时快速生效。切换流程:1) 验证新服务正常,2) 切换DNS A记录到高防IP或回源IP(视防护架构),3) 等待TTL生效(通常5-10分钟),4) 同时关注缓存与CDN。
- 建议同时配合CDN/WAF:若使用CDN,可先接入CDN并在CDN上配置高防策略,然后再切换DNS。
7.
回源与负载均衡、端口与防火墙配置
- 回源模式:若高防为清洗后回源,必须配置高防面板的回源IP与回源端口,确保回源IP白名单。
- 本地防火墙:开放仅需要的端口(80/443/应用端口),并限制管理端口仅允许运维IP。
- 负载均衡:若使用多机或主备,建议在高防前端使用LB或在后端内部配置keepalived + haproxy做VIP漂移,示例:keepalived 配置心跳优先级并同步虚拟IP。
8.
上线前测试与验证清单(必须逐项通过)
- 联通性:ping / traceroute 新IP;curl -I https://域名 检查HTTP头与证书。
- 功能测试:登录、下单、支付、上传、下载等核心流程。
- 性能与安全:使用ab/jmeter进行压测(非攻击),用nmap检查端口暴露,用ss或netstat检查监听端口。
- 日志监控:开启实时日志观察(tail -f)并设置临时报警,确认没有异常错误。
9.
切换日程与回滚计划(关键)
- 切换步骤时间线示例:准备与通知(T-24h),TTL减低(T-12h),全量同步(T-2h),进入维护并做增量同步(T-30min),停止写入(T-5min),最后一次增量+DNS切换(T=0),验证(T+0~30min)。
- 回滚:保留老环境至少24-48小时作为回滚目标。回滚操作包含恢复DNS到老IP、回滚数据库(若写入已发生需做双向增量或手动合并)、重新指向老证书。确保回滚步骤已演练,时间窗口内可以在TTL内恢复。
10.
上线后监控与常见问题排查
- 监控项:CPU/内存、带宽、连接数、请求错误率、慢查询。配置Prometheus+Grafana或供应商监控。
- 常见问题:404/500(检查路径与权限)、SSL错误(证书与私钥权限)、数据库连接错误(用户/权限/端口)、高延迟(回源链路)。
- 处理流程:先回收日志(/var/log/nginx/error.log),根据错误码定位服务,若为防护侧导致,联系供应商工单并提供时间与抓包。
11.
问:部署到香港高防服务器一般需要多长时间能完成迁移上线? 答:
- 小型站点(文件<5GB、数据库<1GB):准备+迁移+验证一般在2-6小时内可完成。
- 中等规模(文件5-50GB、数据库1-50GB):建议预留1个工作日(6-12小时),包含多次增量同步与验证。
- 大型/复杂(跨地域/主从切换/实时同步):可能需2天或更多,并需执行演练和回滚演练。
12.
问:如何在迁移时把停机时间降到最低? 筡答:
- 使用主从复制或物理快照做热迁移,先完成全量数据同步再在窗口内切换指向,写入停机仅需最后几秒到几分钟。
- 对文件层,使用rsync做初次同步后上线前做一次增量同步;DNS将TTL调低可减少DNS传播延迟。
- 若业务可容忍部分短暂不一致,结合队列或双写策略也可减少感知停机。
13.
问:上线后如何验证高防生效与防护是否正常? 答:
- 在高防控制台查看流量清洗面板与告警记录,确认峰值流量与清洗事件;同时用curl/wget从外网不同节点访问确认响应正常。
- 与攻防无关的验证:检查业务日志、错误率、TPS、慢查询是否稳定;如出现异常及时提交工单并附上时间线与抓包数据便于供应商排查。
来源:新品上线必读高性价比香港高防服务器部署时间与迁移步骤