服务器上那个老站,宝塔搬我盯了它三天。网站迁移窗口只有两个小时,宝塔搬数据库快两个G,网站图片压缩包解出来能塞满半个硬盘。宝塔搬宝塔面板的网站搬家功能,我用了不下二十次,宝塔搬每次都不敢大意。网站
这次要迁的宝塔搬站是个论坛,用户数据、网站附件、宝塔搬缓存,网站乱得很。宝塔搬宝塔的网站"搬家"按钮其实分两套逻辑:同服务器复制,和跨机器迁移。宝塔搬前者快得像本地拷贝,后者得走打包下载再上传的路子。我这次是后者,最麻烦的那种。
先备份。宝塔后台的"站点"列表里,每个站右侧都有个备份按钮。我习惯手动点一次,再配一份计划任务——凌晨自动打包。别嫌啰嗦,上次我图省事只靠自动备份,结果数据库刚导出一半,磁盘满了,备份文件损坏。那次教训让我记住:搬家前,备份必须验证完整性,不是生成完就万事大吉。
打包时有个细节:宝塔默认压缩包会带上站点根目录的绝对路径。传到新服务器后,解压路径不对,网站直接白屏。我一般先把旧站的压缩包下载到本地,用解压软件打开看一层目录结构,确认里面是public_html还是直接就是文件。新服务器上建好同名的空站点,再把压缩包传到对应目录下解压。这一步错了,后面全白搭。
数据库迁移更考验手速。旧服务器上导出.sql文件,新服务器用宝塔的phpMyAdmin导入。但大库导入经常超时,我遇到过导入到一半卡死,进度条转圈转得人心慌。后来我学乖了,直接用命令行导入——ssh连上新服务器,mysql命令一行搞定,比网页端稳得多。宝塔的图形界面方便,但关键时刻,命令行才是保命符。
还有个坑:站点配置里的伪静态规则。宝塔搬家工具不会自动搬nginx或apache的配置,你得手动去旧站点的"配置文件"里复制那段rewrite规则,贴到新站点里。忘了这一步,网站能打开,但所有非首页的URL全是404。论坛用户立刻发现不对劲,骂声马上来。
那次迁移最后花了五十分钟。旧站打包用了十五分钟,下载上传花了二十分钟,数据库导入十分钟,剩下时间全在调伪静态和SSL证书。新站上线后,我盯着监控日志看了半小时,确认没有报错才敢关旧服务器。宝塔的搬家功能本质是个工具链,它能把繁琐的步骤压缩成几个按钮,但每个按钮背后都有需要人判断的细节。别指望全自动,你得知道自己在做什么。
现在宝塔出了新版,搬家界面多了个"一键迁移"的插件,说是能自动同步站点配置。我还没在正式环境试过,但按经验,新功能头三个月最好当它不存在。老老实实手动来一遍,比什么自动化都踏实。网站搬家这事,跟搬实体家一样——纸箱上得写清楚里面装的是什么,不然到了新地方,你连哪个箱子是锅碗瓢盆都分不清。