数据迁移备份 · 2026-07-21

虚拟主机迁移到云服务器要注意的六个关键点

数据迁移备份
虚拟主机迁移到云服务器要注意的六个关键点

虚拟主机用着用着就会发现:想装个Redis没有权限,想改个PHP配置被限制,流量上来了还经常被限速。搬到云服务器是迟早的事,但这一搬,问题比想象中多。

一、文件路径差异要提前排查

虚拟主机的网站根目录通常是 /home/username/public_html/ 或类似路径,而云服务器上可能是 /www/wwwroot/yoursite/。路径变了,程序里硬编码的绝对路径全部失效。ThinkPHP、WordPress的配置文件里如果有写死的路径,迁移后必须逐一修改。

排查方法:在旧站根目录执行 grep -rn '/home/username' .,把所有包含旧路径的文件找出来,列个清单逐个改。

二、数据库权限模型完全不同

虚拟主机一般通过面板创建数据库,用户名和数据库名都带前缀(比如 user_dbname)。云服务器上你自己说了算,但别图省事直接用root账号连数据库。正确做法是创建独立用户并只授予对应库的权限:GRANT ALL ON dbname.* TO 'siteuser'@'localhost' IDENTIFIED BY '强密码';

三、PHP版本和扩展要逐项对齐

虚拟主机上PHP版本可能还是5.6,云服务器默认装8.x,版本跨度太大老程序容易白屏。迁移前在旧站根目录放一个 phpinfo() 页面,截图保存扩展列表。新服务器装完PHP后逐项比对,缺什么补什么。常用的扩展包括gd、curl、mbstring、mysqli、redis、imagick等。

四、伪静态规则需要手动迁移

虚拟主机的伪静态通常在面板里配置,Apache环境用.htaccess文件。云服务器如果用的是Nginx,规则要全部转换。WordPress的Nginx伪静态规则网上有现成的,但自定义程序的rewrite规则得手动改写。迁移前把旧站的.htaccess文件下载保存,对照转换。

五、定时任务要重新部署

虚拟主机上的定时任务通过面板设置,迁移后这些任务全没了。在旧站面板里把所有cron任务导出或截图,新服务器上用crontab重新配置。别忘了检查有没有依赖定时任务的业务逻辑,比如订单自动关闭、数据定期清理等。

六、SSL证书不能直接搬

证书文件可以复制,但有些虚拟主机用的是托管型证书(比如Let's Encrypt自动签发),私钥你拿不到。这种情况在新服务器上重新申请就行,用acme.sh或宝塔面板一键申请Let's Encrypt证书,几分钟搞定。迁移完成后务必检查HTTPS是否正常,混合内容警告也要处理。

本刊广告部 · 欢迎垂询:18638624151