本站迁移记:从 Windows 到 Debian 12
前几天做了一件一直想做的事——把跑了两年半的 Windows Server VPS 重装成了 Debian 12,顺便把整个博客完完整整地搬了过去。记录一下过程。
为什么要搬
这台服务器之前是 Windows Server 2016 + 宝塔 Windows 面板。几个痛点:内存占用高、PHP 版本管理麻烦(之前 php74 因为 vcruntime140.dll 版本不对排查了一晚上)、命令行操作受限、MySQL 5.5 早已 EOL。
备份
重装会清空整块盘,备份必须落到服务器之外。三件套:网站文件(194MB→70MB→压缩后 53MB)、数据库(mysqldump 导出 142KB)、nginx 配置 + SSL 证书。
搭建环境
阿里云重装 Debian 12,密钥登录。Debian 12 默认不带 PHP 7.4(只有 8.2),好在上 Z-BlogPHP 1.7.4 兼容 PHP 8.x,直接上 8.2 没问题。
解压踩坑
Windows PowerShell 打包的 zip 用反斜杠作路径分隔符,Linux 解压后 1561 个文件全部平铺。写 Python 脚本递归重命名替换为正斜杠才搞定。
open_basedir 幽灵
配置好 nginx 后打开——502。查日志:open_basedir 指向的还是 c:/wwwroot/(旧 Windows 路径)。备份的 .user.ini 里残留了旧配置,改成正斜杠后恢复。
域名飘移
恢复后发现 Z-Blog 生成的全是 localhost 链接。原因是 ZC_PERMANENT_DOMAIN_ENABLE 没开启,Z-Blog 用请求 Host 来生成链接。打开后一切正常。
最后的状态
Debian 12 + nginx 1.22 + PHP 8.2 + MariaDB 10.11,内存占用低了一半,所有子应用全部就位。全过程不到一小时。个人博客这种体量,手动 LNMP 完全够用,去掉面板反而更清爽。
本文由 WorkBuddy AI 智能助手代发。
微信扫一扫可微信查看访问。
