织梦DedeCMS 网站搬家完整教程 (从万网/阿里云)

网站搬家主要分为三个核心部分:

织梦万网网站搬家教程
(图片来源网络,侵删)
  1. 数据库:将网站的“数据”(文章、产品、会员等)导出并导入到新服务器。
  2. 网站文件:将网站的“程序文件”(所有代码和模板)上传到新服务器。
  3. 配置修改:修改新服务器上的数据库连接信息等配置,让网站“活”起来。

第一步:准备工作(搬家前必读)

在开始之前,请务必完成以下准备工作,这能避免90%的常见问题。

  1. 购买新主机/服务器

    • 在新服务商(如腾讯云、华为云、或其他任何支持PHP+MySQL的主机)购买好你的新空间。
    • 环境要求:确保新环境满足织梦DedeCMS的运行要求,通常是:
      • PHP版本:建议 PHP 7.2PHP 7.4 之间(PHP 8.x可能会有部分兼容性问题,请提前测试)。
      • MySQL版本MySQL 5.6 或更高版本。
      • 数据库支持:确保支持 mysqlipdo_mysql 扩展。
  2. 备份原网站(双重保险)

    • 数据库备份:登录你的万云/阿里云主机控制台,找到数据库管理(如phpMyAdmin),导出你的数据库。格式务必选择“SQL”,并勾选“添加 DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT 语句”(这有助于覆盖旧数据)。
    • 整站文件备份:通过FTP或主机控制台的文件管理器,将你网站根目录下的所有文件下载到本地电脑,这是一个完整的副本。
  3. 准备新环境

    织梦万网网站搬家教程
    (图片来源网络,侵删)
    • 创建数据库和用户:登录新主机的控制台,创建一个新的数据库和一个专门用于该数据库的用户,并授予该用户对数据库的所有权限,记下以下信息,后面会用到:
      • 数据库名
      • 数据库用户名
      • 数据库密码
      • 数据库主机地址:通常是 localhost,如果不是,请咨询你的新服务商。
  4. 整理好FTP信息

    • 新主机的FTP地址FTP端口FTP用户名FTP密码
    • 建议:使用专业的FTP客户端软件,如 FileZilla(免费且强大),比网页版上传更稳定、速度更快。

第二步:上传网站文件

这是将你的网站“骨架”搬到新家的过程。

  1. 连接新主机:打开 FileZilla,输入你的新主机FTP信息,点击“快速连接”。
  2. 定位网站根目录:连接成功后,你会看到新主机上的文件列表,你需要找到网站的根目录,这个目录名通常是:
    • public_html
    • www
    • htdocs
    • web
    • (具体名称请咨询你的新服务商)
  3. 清空根目录(可选但推荐):为了确保没有旧文件干扰,清空这个根目录下的所有内容(如果是一个全新的空空间,此步可省略)。
  4. 上传文件
    • 在本地电脑找到你第一步备份的整站文件
    • 将这些文件全部选中,拖拽到 FileZilla 右侧的新主机根目录中。
    • 等待上传完成,确保所有文件都成功传输,没有遗漏。

第三步:导入数据库

这是将网站的“血肉”(数据)填充到新家的过程。

  1. 获取数据库管理地址:登录新主机控制台,找到数据库管理工具,通常是 phpMyAdmin,复制访问链接。
  2. 登录phpMyAdmin:在浏览器中打开phpMyAdmin的链接,使用你创建的数据库用户名和密码登录。
  3. 选择目标数据库:在左侧的数据库列表中,点击你新创建的那个数据库名。
  4. 导入数据
    • 点击顶部的“导入”选项卡。
    • 点击“选择文件”按钮,找到你第一步备份的数据库SQL文件
    • 确保“格式”是“SQL”。
    • 直接点击“执行”按钮。
    • 等待导入完成,你会看到一个成功的提示。

第四步:修改核心配置文件(最关键的一步)

这是让新网站找到“新家”地址和数据库连接信息的关键。

织梦万网网站搬家教程
(图片来源网络,侵删)

你需要修改两个核心文件,请通过FTP客户端操作。

  1. 修改 data/common.inc.php 文件

    • 这个文件是织梦的全局配置文件,包含了数据库连接信息。
    • 通过FTP连接到新主机,进入网站根目录,找到 data 文件夹,里面的 common.inc.php 文件。
    • 下载这个文件到你的电脑。
    • 用文本编辑器(如 Notepad++, VS Code, 或 Sublime Text)打开它。
    • 修改以下几行代码,将其替换为你新环境的数据库信息:
    //数据库连接信息
    $cfg_dbhost = 'localhost'; // 数据库主机地址,如果不是localhost,请填写服务商提供的地址
    $cfg_dbname = '你的新数据库名'; // 替换成你新创建的数据库名
    $cfg_dbuser = '你的新数据库用户名'; // 替换成你新创建的数据库用户名
    $cfg_dbpwd = '你的新数据库密码'; // 替换成你新创建的数据库密码
    $cfg_dbprefix = 'dede_'; // 数据库表前缀,如果和原来不一样,请保持和原来的一致!
    $cfg_db_language = 'gbk'; // 数据库编码,通常是 gbk 或 utf8,请和原来保持一致!
    • 特别注意
      • $cfg_dbprefix(表前缀)和 $cfg_db_language(编码)必须和你原来网站完全一致!否则会导致网站无法读取数据。
    • 保存修改后的 common.inc.php 文件。
    • 通过FTP,将修改后的文件上传并覆盖到服务器上原来的位置。
  2. 修改网站根目录下的 config_cache.php 文件(可选但推荐)

    • 这个文件缓存了网站的基本配置,有时也需要更新。
    • 同样通过FTP找到它,下载到本地。
    • 用文本编辑器打开,找到 cfg_basehost 这一项,将其值修改为你新网站的域名
      // ... 其他代码 ...
      'cfg_basehost' => 'http://www.你的新域名.com',
      // ... 其他代码 ...
    • 保存并上传覆盖。

第五步:更新网站配置与测试

网站已经基本搬过来了,最后一步是让它在新环境下正常工作。

  1. 访问网站:在浏览器中输入你的新域名。

    • 如果一切正常:你应该能看到和原来一模一样的网站首页,恭喜你,搬家成功!
    • 如果出现错误:不要慌,下面是常见问题排查。
  2. 登录后台:访问 你的新域名/dede/(后台地址)。

    • 如果能正常登录,进入后台,检查“系统” -> “系统基本参数”中的“站点根网址”是否正确,如果不正确,请手动修正并保存。
    • 执行“系统” -> “数据库备份/还原”中的“一键优化/修复数据库”,以确保数据表完整。

第六步:修改域名解析(最后一步)

警告:这一步操作后,你的旧网站将无法访问,请确保所有步骤都已成功!

  1. 登录域名注册商控制台:比如万网/阿里云、腾讯云等。
  2. 找到域名解析:进入你网站域名的解析管理页面。
  3. 修改记录
    • 将旧的、指向万网IP地址的A记录删除
    • 添加一条新的A记录,将主机记录(或记录值)设置为 或 www记录值指向新主机的IP地址
  4. 等待生效:DNS修改后,全球DNS缓存需要时间更新,通常需要几分钟到24小时,你可以使用 ping 命令来检查域名是否已经解析到新IP。

常见问题与解决方案 (FAQ)

Q1: 网站首页打开是空白,或者显示“无法连接数据库”。

  • 原因data/common.inc.php 文件的数据库信息错误。
  • 解决:请仔细检查第四步中 $cfg_dbhost, $cfg_dbname, $cfg_dbuser, $cfg_dbpwd 是否填写正确,尤其是主机地址,有些云服务商不是 localhost

Q2: 网站首页打开,但所有图片、CSS、JS样式都丢失了。

  • 原因:网站根目录路径问题,织梦的某些配置可能还是指向旧路径。
  • 解决
    1. 登录织梦后台,进入“系统” -> “系统基本参数”,检查并修改以下几项:
      • 站点根网址:确保是 http://www.你的新域名.com
      • 站点根目录:确保是 /public_html/ 或你的实际根目录路径。
    2. 检查 config_cache.php 文件中的 cfg_basehost 是否正确。

Q3: 后台登录后,点击任何页面都跳转到旧域名。

  • 原因:数据库中存储的文章、栏目等内容里还包含了旧域名。
  • 解决:织梦提供了一个批量替换的工具。
    1. 登录后台,进入“系统” -> “SQL命令运行工具”。
    2. 在“运行SQL命令行”的文本框中,输入以下命令(请将 旧域名.com新域名.com 替换成你自己的):
      UPDATE dede_archives SET body=REPLACE(body,'旧域名.com','新域名.com');
      UPDATE dede_addonarticle SET body=REPLACE(body,'旧域名.com','新域名.com');
      UPDATE dede_arctype SET typename=REPLACE(typename,'旧域名.com','新域名.com');
      UPDATE dede_arctype SET description=REPLACE(description,'旧域名.com','新域名.com');
      -- 你可以根据需要添加更多表的替换命令
    3. 点击“查询”执行,这个命令会遍历文章和栏目等表,将所有内容里的旧域名替换成新域名。

Q4: 上传文件失败或图片无法显示。

  • 原因data 目录权限不正确。
  • 解决:通过FTP连接服务器,右键点击 data 文件夹,选择“文件权限”,将其权限设置为 755777注意:为了安全,上传成功后最好改回 755

Q5:搬家后网站速度变慢。

  • 原因:新服务器的线路、配置或物理位置可能不同。
  • 解决:检查新主机的CPU、内存使用率,如果是海外服务器,可以考虑使用CDN(内容分发网络)来加速国内访问。

至此,整个织梦DedeCMS从万网的搬家流程就全部完成了,祝你操作顺利!