织梦CMS二次安装如何覆盖原数据?

99ANYc3cd6
预计阅读时长 20 分钟
位置: 首页 织梦建站 正文

织梦CMS 二次安装/迁移教程

“二次安装”通常指将一个已经运行了一段时间、有内容的织梦网站,从一台服务器迁移到另一台服务器,或者在同一台服务器上更换域名/目录,这个过程比全新安装要复杂,因为它需要处理数据库、配置文件和文件路径的同步。

织梦cms二次安装教程
(图片来源网络,侵删)

第一步:准备工作(迁移前必读)

在开始任何操作之前,请务必备份!备份!备份!重要的事情说三遍。

  1. 备份原网站数据:

    • 数据库备份: 登录你的原网站数据库管理工具(如 phpMyAdmin),选择你的织梦数据库,然后选择“导出”,建议选择“快速”导出格式,并勾选“保存为文件”,下载 .sql 备份文件。
    • 网站文件备份: 使用 FTP 或文件管理器,将你网站根目录下的所有文件和文件夹下载到你的本地电脑,这包括 /dede//data//include//images//uploads/ 等所有内容。
  2. 准备新服务器环境:

    • 域名解析: 确保你的新域名已经正确解析到新服务器的 IP 地址。
    • 环境配置: 确保新服务器已安装并配置好运行织梦CMS所需的环境:
      • Web服务器: Apache (推荐) 或 Nginx
      • PHP版本: 推荐 PHP 7.2 ~ 7.4(织梦V5.7对PHP8.x支持不完善,高版本可能出错)
      • 数据库: MySQL 5.6+ 或 MariaDB
    • 上传文件: 将你第一步备份的网站文件,通过 FTP 上传到新服务器的网站根目录下。
    • 创建数据库和用户: 在新服务器的数据库管理工具(如 phpMyAdmin)中,创建一个新的数据库和一个新的数据库用户,并授予该用户对新数据库的所有权限,记下以下信息:
      • 数据库名称
      • 数据库用户名
      • 数据库密码
      • 数据库主机(通常是 localhost

第二步:核心操作步骤

我们开始正式的迁移工作。

织梦cms二次安装教程
(图片来源网络,侵删)

步骤 1:恢复数据库

  1. 登录新服务器的 phpMyAdmin。
  2. 选择你刚刚创建的空数据库
  3. 点击“导入”选项卡。
  4. 点击“选择文件”,上传你第一步备份的数据库 .sql 文件。
  5. 点击“执行”按钮,等待导入完成,你的网站数据就已经在新数据库里了。

步骤 2:修改核心配置文件

这是最关键的一步,目的是让织梦在新环境下找到正确的数据库和路径。

  1. 修改数据库连接信息 (common.inc.php)

    • 使用 FTP 或文件管理器,连接到新服务器。
    • 进入 /data/ 目录,找到 common.inc.php 文件。注意: 如果这个文件不存在,可能是被重命名为 safe_common.inc.php 了,你需要修改后者。
    • 下载 common.inc.php 到本地,用代码编辑器(如 VS Code, Sublime Text, Notepad++)打开它。
    • 找到并修改以下几行代码:
      //数据库连接信息
      $cfg_dbhost = 'localhost'; // 数据库主机,通常是localhost
      $cfg_dbname = '你的新数据库名'; // 修改为你在新服务器创建的数据库名
      $cfg_dbuser = '你的新数据库用户名'; // 修改为你在新服务器创建的数据库用户名
      $cfg_dbpwd = '你的新数据库密码'; // 修改为你在新服务器创建的数据库密码
      $cfg_dbprefix = 'dede_'; // 数据库表前缀,如果和原来一样就不用改
      $cfg_db_language = 'gbk'; // 数据库编码,如果你的原站是utf8,就改成'utf8'
    • 保存文件,然后重新上传到 /data/ 目录,覆盖原文件。
  2. 修改网站根目录 (index.php)

    • 打开网站根目录下的 index.php 文件。
    • 找到这行代码:
      require_once(dirname(__FILE__)."/include/common.inc.php");
    • 通常情况下,这行代码不需要修改。 但如果你的网站文件不在Web根目录下,或者路径结构发生了变化,才需要调整 dirname(__FILE__) 的路径,对于标准的迁移,保持原样即可。

步骤 3:修改后台目录名(安全起见,建议修改)

为了安全,最好修改后台管理目录的名称,防止被暴力破解。

  1. 通过 FTP,将 /dede/ 文件夹重命名为一个你自定义的名称,myadmin/cmsadmin/
  2. 访问你的新网站域名,然后加上 /你的新后台目录名/http://www.yourdomain.com/myadmin/,尝试登录后台。
  3. 如果登录失败,可能还需要修改一个文件:打开 /include/vdimgck.php,将其中所有的 /dede/ 替换为你的新后台目录名。

步骤 4:更新网站信息(在后台操作)

登录你的新网站后台,进行最后的设置。

  1. 进入“系统” -> “系统基本参数”

    • 站点根网址: 这是最重要的!修改为你的新域名http://www.yourdomain.com
    • 站点名称: 修改为你的新网站名称。
    • 检查并修正其他参数,如“主页链接”、“文件保存目录”等。
  2. (可选但推荐)进入“系统” -> “数据库备份/还原”

    点击“一键更新网站缓存”,这可以解决很多因缓存问题导致的奇怪错误。


第三步:常见问题与解决方案

迁移后,最常遇到的就是路径问题。

问题 1:网站首页正常,但点击内页或栏目出现“无法找到该页”或404错误

原因: 数据库中存储的仍然是旧服务器的域名或路径。

解决方案:

  1. 使用织梦后台的SQL命令行工具(推荐)

    • 登录织梦后台。

    • 进入“系统” -> “SQL命令行工具”。

    • 在命令框中输入以下SQL语句(请将 旧域名.com 替换为你的旧域名),然后点击“查询”执行。

    • 更新文章内容中的旧域名:

      UPDATE `dede_archives` SET `body` = REPLACE(`body`, '旧域名.com', '新域名.com');

      注意:dede_ 是你的数据库表前缀,如果不是,请自行修改。

    • 更新文章中的旧域名(适用于摘要、关键字等):

      UPDATE `dede_archives` SET `title` = REPLACE(`title`, '旧域名.com', '新域名.com');
      UPDATE `dede_archives` SET `description` = REPLACE(`description`, '旧域名.com', '新域名.com');
      UPDATE `dede_addonarticle` SET `body` = REPLACE(`body`, '旧域名.com', '新域名.com'); -- 如果是文章模型
    • 更新所有旧域名(适用于全站):

      UPDATE `dede_arctype` SET `typelink` = REPLACE(`typelink`, '旧域名.com', '新域名.com'); -- 更新栏目链接
      UPDATE `dede_archives` SET `arcurl` = REPLACE(`arcurl`, '旧域名.com', '新域名.com'); -- 更新文章链接(这个字段通常由系统自动生成,手动改可能无效,但可以尝试)
      -- 一个更全面的替换
      UPDATE dede_addonarticle SET body=REPLACE(body,'旧域名.com','新域名.com');
      UPDATE dede_arctiny SET title=REPLACE(title,'旧域名.com','新域名.com');
      UPDATE dede_arctiny SET description=REPLACE(description,'旧域名.com','新域名.com');
      UPDATE dede_feedback SET msg=REPLACE(msg,'旧域名.com','新域名.com');
      UPDATE dede_help SET body=REPLACE(body,'旧域名.com','新域名.com');
      UPDATE dede_infotag SET title=REPLACE(title,'旧域名.com','新域名.com');
      UPDATE dede_news SET body=REPLACE(body,'旧域名.com','新域名.com');
      UPDATE dede_news SET title=REPLACE(title,'旧域名.com','新域名.com');
      UPDATE dede_soft SET body=REPLACE(body,'旧域名.com','新域名.com');
      UPDATE dede_soft SET introduction=REPLACE(introduction,'旧域名.com','新域名.com');
      UPDATE dede_special SET content=REPLACE(content,'旧域名.com','新域名.com');
      UPDATE dede_special SET description=REPLACE(description,'旧域名.com','新域名.com');
      UPDATE dede_sysconfig SET value=REPLACE(value,'旧域名.com','新域名.com');
      UPDATE dede_tagindex SET tag=REPLACE(tag,'旧域名.com','新域名.com');
      UPDATE dede_taglist SET tag=REPLACE(tag,'旧域名.com','新域名.com');
  2. 使用PHPMyAdmin(备选方案)

    • 登录新服务器的 phpMyAdmin。
    • 选择你的织梦数据库。
    • 点击顶部的“SQL”选项卡。
    • 将上面推荐的SQL语句粘贴进去执行,效果和后台工具一样。

问题 2:图片、附件无法显示,路径指向旧服务器

原因: 和问题1一样,数据库中的图片/附件路径是绝对路径,包含了旧域名。

解决方案: 使用上面提到的SQL命令行工具,将数据库中所有包含旧域名的路径替换为新域名,特别是对 dede_addonarticle 等文章模型的 body 字段进行替换,因为里面通常包含 <img src="旧域名.com/..."> 这样的标签。

问题 3:后台登录后跳转到旧域名

原因: 系统基本参数中的“站点根网址”没有更新成功,或者缓存问题。

解决方案:

  1. 再次检查“系统基本参数”中的“站点根网址”是否正确。
  2. 进入“系统” -> “系统设置” -> “清除所有缓存”,然后手动删除 /data/cache/ 目录下的所有缓存文件(除了 config.cache.inc.php)。
  3. 如果还是不行,尝试重新上传并修改 common.inc.php 文件。

总结与检查清单

迁移完成后,按以下清单进行检查:

  • [ ] 网站首页 是否能正常打开?
  • [ ] 后台登录 是否正常,并能成功进入?
  • [ ] 文章列表页 是否能正常访问?
  • [ ] 图片附件 是否能正常显示?
  • [ ] 首页栏目页 的链接是否都指向新域名?
  • [ ] 网站地图 是否正常生成?
  • [ ] 搜索功能 是否可用?

完成以上所有步骤并确认无误后,你的织梦CMS二次安装/迁移就成功了!

-- 展开阅读全文 --
头像
c语言shellexecute
« 上一篇 01-08
数组名为何不可变?
下一篇 » 01-08

相关文章

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

目录[+]