dede网站迁移步骤

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 DEDE建站 正文

核心迁移原则

  1. 备份是第一步,也是最重要的一步:在任何操作前,必须完整备份源网站的所有文件和数据库。
  2. 环境一致性:尽量保证新旧服务器的环境(PHP版本、MySQL版本、服务器软件如Nginx/Apache)一致,这能最大程度减少兼容性问题。
  3. 文件与数据分离:网站文件(代码、图片、附件)和数据库(网站内容、用户信息)是两部分,需要分别处理。

迁移步骤详解

整个过程可以分为三大阶段:迁移前准备执行迁移迁移后配置


第一阶段:迁移前准备(源服务器操作)

步骤 1:完整备份网站文件

这是最关键的一步,确保你拥有网站所有代码和资源的副本。

  1. 通过FTP/SFTP连接:使用FileZilla等工具连接到你的源服务器。
  2. 下载整个网站目录:网站根目录是 public_htmlwwwhtdocs,请将这个目录下的所有文件和文件夹下载到你的本地电脑。
    • 重点检查:确保 datauploadstempletsspeciala (文章目录)、images (图片目录) 等目录都已完整下载。
    • 不要遗漏.htaccess (Apache) 或 nginx.conf (Nginx) 等配置文件(如果有的话)。

步骤 2:完整备份数据库

文章、产品、分类、用户、评论等)都存储在数据库中。

  1. 登录phpMyAdmin:通过你的主机控制面板(如cPanel、Plesk)找到phpMyAdmin工具并登录。
  2. 选择数据库:在左侧列表中,选中你的DedeCMS数据库名称。
  3. 执行导出
    • 点击顶部的“导出”选项卡。
    • 在“快速”选项卡下,选择“自定义” - 强烈推荐,因为可以确保所有表结构完整。
    • 在“格式”中选择“SQL”。
    • 确保“创建表”、“添加插入数据”、“自增值”等选项都已勾选。
    • 点击“执行”按钮。
  4. 保存备份文件:浏览器会下载一个 .sql 文件,将其保存到本地电脑,并记住文件名(dede_backup.sql)。

第二阶段:执行迁移

步骤 3:上传网站文件到新服务器

  1. 通过FTP/SFTP连接:使用同样的工具连接到你的新服务器
  2. 上传文件:将你在步骤1中下载到本地的所有网站文件,上传到新服务器的网站根目录(同样是 public_htmlwwwhtdocs)。
  3. 设置文件权限:上传完成后,为了安全,需要设置正确的文件和目录权限。
    • 目录权限:通常设置为 755
    • 文件权限:通常设置为 644
    • 关键目录权限datauploadsaimages 等需要写入权限的目录,权限可以设置为 777 (仅在迁移后调试时使用,调试完成后务必改回755),或者更安全的 755 并确保所有者是Web服务器用户(如 www-data, nginx, apache)。
    • 重要文件data 目录下的 config_db.php 数据库配置文件,权限建议设置为 644600

步骤 4:在新服务器上创建数据库和用户

  1. 登录新服务器的控制面板:找到数据库管理工具(如cPanel的“MySQL数据库”)。
  2. 创建新数据库:输入一个数据库名称(dede_new_db),并点击创建。
  3. 创建新数据库用户:输入一个用户名(dede_user),设置一个强密码,并点击创建。
  4. 授权用户:在“向用户添加权限”部分,选择你刚刚创建的数据库和用户,授予“所有权限”,然后点击“添加”。

步骤 5:导入数据库

  1. 登录新服务器的phpMyAdmin:使用新服务器的控制面板进入phpMyAdmin。
  2. 选择新数据库:在左侧列表中,选中你在步骤4中创建的新数据库名称。
  3. 执行导入
    • 点击顶部的“导入”选项卡。
    • 点击“选择文件”按钮,选择你在步骤2中下载的 dede_backup.sql 文件。
    • 点击“执行”按钮,等待导入完成,你会看到成功的提示。

第三阶段:迁移后配置(新服务器操作)

这是最容易出错的地方,需要仔细修改配置文件,让新服务器“认识”新的环境。

步骤 6:修改数据库配置文件

这是连接网站和数据库的桥梁,必须更新。

  1. 找到文件:通过FTP/SFTP,在新服务器的网站根目录下,找到 data 文件夹,里面的 config_db.php 文件。

  2. 编辑文件:用文本编辑器(如Notepad++, VS Code)打开这个文件。

  3. 修改信息:将文件中的数据库信息替换为新服务器的信息:

    // $cfg_dbhost = 'localhost'; // 通常是localhost,除非有特殊配置
    // $cfg_dbname = '你的旧数据库名';
    // $cfg_dbuser = '你的旧数据库用户名';
    // $cfg_dbpwd = '你的旧数据库密码';
    // 修改为:
    $cfg_dbhost = 'localhost'; // 保持不变
    $cfg_dbname = '你在步骤4创建的新数据库名'; //  dede_new_db
    $cfg_dbuser = '你在步骤4创建的新数据库用户名'; //  dede_user
    $cfg_dbpwd = '你在步骤4设置的新数据库密码'; // 你的新密码
  4. 保存文件:保存并上传回服务器,覆盖原文件。

步骤 7:修改网站根目录路径(非常重要!)

如果你的新旧服务器的网站根目录路径不同(例如旧的是 /home/user/www,新的是 /var/www/html),这一步必须做,否则网站上的所有图片、附件、链接都会失效。

  1. 找到文件:在新服务器的网站根目录下,找到 data 文件夹,里面的 config_base.php 文件。

  2. 编辑文件:用文本编辑器打开它。

  3. 修改信息:查找并修改 $cfg_cmspath$cfg_userpath 这两个变量:

    // $cfg_cmspath = '/旧的服务器网站路径';
    // $cfg_userpath = '/旧的服务器网站路径';
    // 修改为新的路径:
    $cfg_cmspath = '/新服务器的网站根目录路径'; //  /home/newuser/public_html
    $cfg_userpath = '/新服务器的网站根目录路径'; // 和上面保持一致
  4. 保存文件:保存并上传回服务器。

步骤 8:更新网站绝对路径

为了确保所有附件、链接都正确,最好再修改一下后台的全局配置。

  1. 登录DedeCMS后台:访问 你的新域名/dede/,用你的管理员账号登录。
  2. 进入系统设置:在左侧菜单中,找到“系统” -> “系统基本参数”。
  3. 修改站点根网址
    • 在“核心设置”里,找到“站点根网址”,确保它指向你的新域名http://www.your-new-domain.com)。
  4. 修改网站根目录
    • 在“核心设置”里,找到“网站根目录”,将它修改为你在步骤7中设置的新路径(/home/newuser/public_html)。
  5. 保存:点击“保存”按钮。

步骤 9:清空缓存并检查网站

  1. 清空缓存:登录后台后,在“系统” -> “SQL命令运行工具”中,执行以下SQL语句来清空所有缓存表(如果有的话,或者直接通过FTP删除 /data/cache 目录下的所有文件)。
    TRUNCATE TABLE `dede_arccache`;
    TRUNCATE TABLE `dede_homecache`;
    TRUNCATE TABLE `dede_indexcache`;
  2. 检查网站
    • 在浏览器中访问你的新域名,检查首页是否正常显示。
    • 访问几个文章页面、栏目页,检查图片和链接是否正常。
    • 尝试发布一篇文章或上传一张图片,看是否成功。
    • 尝试登录后台,看是否能正常进入。

常见问题与解决方案

  • 问题1:网站首页能打开,但所有图片和CSS/JS样式丢失。

    • 原因config_base.php 中的 $cfg_cmspath$cfg_userpath 没有更新为新的服务器路径。
    • 解决:重新检查并修改步骤7
  • 问题2:后台登录后,页面空白或显示“您还没有登录”。

    • 原因
      1. data 目录权限不正确(无法写入session)。
      2. 数据库配置信息错误(config_db.php)。
      3. 服务器开启了 open_basedir 限制,导致后台程序无法访问 include 文件。
    • 解决:检查文件权限,确认数据库配置,联系主机商检查 open_basedir 设置。
  • 问题3:上传的图片/附件无法显示。

    • 原因:和问题1类似,路径错误,或者 uploads 等目录没有写入权限。
    • 解决:检查路径,并确保 uploadsaimages 等目录有正确的写入权限(775或755,且所有者正确)。
  • 问题4:网站打开非常慢或报错。

    • 原因:PHP版本不兼容,或者服务器资源不足。
    • 解决:联系主机商检查服务器状态,确认PHP版本是否与DedeCMS要求一致。
  • 问题5:部分页面(如列表页、分页)内容为空或报错。

    • 原因:数据库导入不完整,或者旧站点的数据表在新服务器上出现了字符集问题(如 latin1 vs utf8mb4)。
    • 解决:重新导入数据库,并在导入前在phpMyAdmin中确保新数据库的字符集是 utf8mb4_unicode_ci

迁移DedeCMS网站,备份修改配置是两大核心,只要按照以上步骤,耐心细致地操作,绝大多数迁移问题都可以顺利解决,强烈建议在非业务高峰期进行迁移,并保留好源服务器的备份,直到新网站完全稳定运行一段时间后再删除。

-- 展开阅读全文 --
头像
dede饮食网站模板
« 上一篇 05-02
21天真能学通C语言吗?
下一篇 » 05-02

相关文章

取消
微信二维码
支付宝二维码

目录[+]