


























哎,最近给自己的小站搞了一次“大搬家”——从老服务器挪到了新买的阿里云服务器。以前都是靠宝塔面板点一下“一键迁移”,省心是省心,但这次我决定自己动手来一遍,图个干净利落。为啥?因为一键迁移太“懒”了,啥破烂都给你搬过去,日志、废弃插件、乱七八糟的临时文件……全跟着走,新环境看着就闹心。所以这次我干脆自己来,虽然麻烦点,但搬完之后心里透亮,啥都在掌控中!
原服务器所依赖的优惠活动已到期,无法续期,故需更换至新服务器环境。手动迁移虽然费点劲,但能只搬该搬的,清理掉那些没用的垃圾。
重要提示:建议对当前宝塔面板中的软件配置、数据库信息等关键设置进行全面截图保存,形成完整的迁移文档。
这些不适合用终端直接“看”,而是要 打包 + 下载保存:
一般类似:/www/wwwroot/你的域名/
至少包含(但建议整个目录一起打包):
在宝塔“数据库”里给 Typecho 的库做一次备份,导出 .sql,下载保存。
通过SSH连接到服务器执行以下信息收集命令:
# 获取Linux发行版详细信息
cat /etc/os-release
# 查看内核版本与系统架构
uname -a# 获取Nginx版本
nginx -v
# 查看编译参数与加载模块
nginx -V 2>&1 | grep 'configure arguments'
# 定位站点配置文件(宝塔标准路径)
ls /www/server/panel/vhost/nginx/
# 查看具体站点"Nginx配置文件"详情 | 找到你域名对应的 .conf,比如 yourdomain.com.conf,然后:
cat /www/server/panel/vhost/nginx/yourdomain.com.conf
作用:
记录 Nginx 版本和编译参数;
保存你当前站点的 Nginx 配置(含伪静态、SSL 等),复制到本地文档里。
如果宝塔只装了一个 PHP,通常直接:
# 单版本PHP环境检测
php -v && php -m
# 多版本环境识别(宝塔典型结构)
ls /www/server/php/
# 指定版本环境检测(以PHP7.4为例)
/www/server/php/74/bin/php -v
/www/server/php/74/bin/php -m | grep -E 'pdo_mysql|gd|curl|openssl|mbstring'你可以只挑 当前给这个站点用的 PHP 版本 执行一遍,然后把输出复制保存。
如果只想重点看常用扩展,可以:
php -m | egrep 'pdo_mysql|mysqli|mbstring|curl|gd|openssl|json|fileinfo'作用:
记录 PHP 版本(方便以后按同版本或更高版本部署);
记录已启用扩展,避免以后漏装导致奇怪报错。
# MySQL版本查询
mysql -V
# 连接数据库执行环境检测(需输入密码)
mysql -uroot -p <<EOF
SHOW VARIABLES LIKE 'version%';
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
EOF作用:
记录 MySQL 版本;
记录当前默认字符集/排序规则,迁移到新服务器时尽量保持一致。
最简单是 后台首页右下角会显示版本号,你可以手动记下来。
如果想用终端大致确认,可以在站点目录下执行(先 cd 到站点):
cd /www/wwwroot/你的域名/
grep -R "TYPECHO_VERSION" -n .Typecho版本 1.1 (17.10.30)
作用:记录当前运行的 Typecho 版本(比如 1.1),方便以后对照升级变动。
有些主题/插件的设置会写到数据库,有些写到文件。
可以额外看一下 主题目录和插件目录结构:
cd /www/wwwroot/你的域名/usr/
ls
# 导出主题与插件清单
ls usr/themes/ > themes_list.txt
ls usr/plugins/ > plugins_list.txt作用:记录当前启用/存在的主题和插件名字,将来遇到兼容问题可快速对照。
Typecho系统迁移的核心在于usr用户数据目录与数据库的协同转移。新环境部署时,只需覆盖usr目录或者需要的主题和插件等并导入数据库即可实现完整状态恢复。
usr目录(包含所有用户配置与资源文件)或全站全量导出技术说明:usr目录作为Typecho的用户数据中心,承载主题、插件、上传文件等所有个性化配置

导入后若面板不显示数据文件,点击“从服务器同步到面板”
这里忘记截图了。简单来说:
config.inc.php调整数据库连接配置搬迁后发现后台异常,部分功能无法使用。
排查发现根本原因:迁移前未停用第三方插件且未切换回默认主题
通过phpMyAdmin或命令行连接数据库,执行以下SQL:
-- 重置插件启用状态
UPDATE typecho_options SET value = 'a:0:{}' WHERE name = 'plugins';
-- 切换回默认主题
UPDATE typecho_options SET value = 'default' WHERE name = 'theme';

执行后,后台恢复正常。
旧环境:Nginx 1.18 php7.4 mysql5.7 Typecho1.1.0
新环境:Nginx 1.28 php8.3 mysql5.7 Typecho1.3.0迁移时建议直接安装稳定版本进行兼容性测试。
备份前准备 → 完整备份 → 新环境搭建 →
数据迁移 → 配置更新 → 全面测试 → DNS切换搬迁完成后:
大概就是这么个流程。
文章目录
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。