Discuz! X3.5 网站搬家的完整步骤,涵盖数据备份、迁移、配置修复等关键环节,确保迁移后网站正常运行:
一、准备工作
1. 新服务器环境配置
• 确保新服务器满足 Discuz! X3.5 要求:
◦ PHP 7.3~8.1(推荐 7.4)
◦ MySQL 5.6+ / MariaDB 10.1+
◦ Web服务器(Apache/Nginx)
• 安装必要扩展:`PDO`、`GD库`、`mbstring`、`curl`、`openssl`。
2. 记录原网站关键信息
• 数据库名、用户名、密码。
• 原网站目录结构(如附件路径 `/data/attachment`)。
• UCenter 通信密钥(位于 `config/config_ucenter.php`)。
二、原网站数据备份
# 1. 关闭网站(避免迁移期间数据变更)
• 进入 Discuz 后台 → 全局 → 站点信息 → 关闭站点。
• 关闭服务器 Web 服务(如 Nginx/Apache)。
# 2. 备份数据库
• 通过 phpMyAdmin 导出:
登录 phpMyAdmin → 选择数据库 → 导出 → 格式选 `SQL` → 执行。
• 命令行备份(SSH):
“`bash
mysqldump -u数据库用户 -p 数据库名 > discuz_backup.sql
“`
# 3. 备份网站文件
• 压缩网站根目录(通过 FTP 或 SSH):
“`bash
tar -czvf discuz_backup.tar.gz /path/to/discuz_root
“`
• 必备份目录:
• `config/`(配置文件)
• `data/`(附件、缓存)
• `uc_server/data/`(UCenter 数据)
• `template/`(模板)
• `plugin/`(插件)
三、迁移到新服务器
# 1. 上传文件到新服务器
• 解压备份文件到新服务器网站根目录(如 `/var/www/html`):
“`bash
tar -xzvf discuz_backup.tar.gz -C /新目录
“`
• 检查权限:
“`bash
chown -R www-data:www-data /新目录 # Apache/Nginx 用户组
chmod -R 755 /新目录
“`
# 2. 导入数据库
• 通过 phpMyAdmin:新建空数据库 → 导入备份的 SQL 文件。
• 命令行导入(SSH):
“`bash
mysql -u新数据库用户 -p 新数据库名 < discuz_backup.sql
“`
# 3. 修改配置文件
• 更新数据库连接信息:
修改以下文件中的数据库名称、用户名、密码:
• `/config/config_global.php`
• `/config/config_ucenter.php`
• `/uc_server/data/config.inc.php`
• 检查路径配置:
在 `/config/config_global.php` 中确认:
“`php
$_config[‘cookie’][‘cookiepath’] = ‘/’; // 保持与旧站一致
$_config[‘output’][‘staticurl’] = ‘static/’; // 静态资源路径
“`
四、新服务器配置修复
# 1. 更新域名配置
• 修改 Discuz 后台 → 全局 → 站点信息 → 网站 URL(改为新域名)。
• 更新 UCenter 域名:进入 `uc_server/admin.php` → 应用管理 → 编辑应用 → 修正 URL。
# 2. 检查通信状态
• 进入 Discuz 后台 → UCenter → 应用管理,确保通信状态为“通信成功”。
• 若失败,检查:
• UCenter 通信密钥是否与旧站一致。
• 新服务器防火墙是否放行端口(UCenter 默认使用 HTTP 通信)。
# 3. 更新缓存和文件校验
• 进入后台 → 工具 → 更新缓存,刷新所有缓存。
• 检查文件校验(工具 → 文件校验),删除非官方修改的冗余文件。
五、测试与恢复
1. 功能测试
• 发帖、上传附件、用户登录、私信等核心功能。
• 检查插件和模板是否正常(如第三方登录、支付接口)。
2. 恢复访问
• 开启新服务器 Web 服务(Nginx/Apache)。
• 取消 Discuz 后台的“关闭站点”状态。
3. DNS 解析切换
• 将域名解析指向新服务器 IP,等待生效(TTL 生效时间约 10 分钟~24 小时)。
六、常见问题处理
• 附件无法显示:检查 `data/attachment` 目录权限(需 777)。
• UCenter 通信失败:核对 `config_ucenter.php` 中的 `UC_KEY` 和 `UC_IP`。
• 页面样式错乱:更新缓存,检查静态资源路径(`static/` 目录是否完整)。
• 数据库连接错误:确认 `config_global.php` 中的数据库配置和用户权限。
总结
按照以上步骤操作,可安全完成 Discuz! X3.5 的迁移。重点注意:
1. 备份时关闭网站,确保数据一致性。
2. 配置文件中的数据库和路径需严格匹配新环境。
3. 迁移后彻底测试,避免遗留问题影响用户体验。
暂无评论内容