织梦网站转服务器,数据如何无损迁移?

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

迁移前准备

  1. 获取所有必要信息

    织梦网站转移服务器
    (图片来源网络,侵删)
    • 旧服务器:FTP/SFTP主机地址、用户名、密码;数据库主机地址、数据库名、数据库用户名、数据库密码。
    • 新服务器:FTP/SFTP主机地址、用户名、密码;数据库主机地址、数据库名、数据库用户名、数据库密码(如果新主机还没有数据库,需要先创建);新的域名解析地址。
  2. 检查新旧服务器环境兼容性

    • PHP版本:确保新服务器的PHP版本与旧服务器兼容(或织梦CMS要求的版本),织梦较老版本可能对PHP 7.4+有兼容性问题,新版本则要求更高。
    • MySQL/MariaDB版本:确保数据库版本兼容。
    • 扩展模块:检查新服务器是否启用了织梦所需的PHP扩展,如 mysqli, gd, curl, zip, openssl 等。
    • 目录权限:了解新服务器Web用户(通常是 www-data, nginx, apache)对网站目录的权限要求。
  3. 准备织梦安装包

    • 强烈建议:去织梦官网下载一个与您当前网站完全相同版本的织梦安装包,这比直接复制旧文件更可靠,可以避免因旧文件损坏或权限问题导致的麻烦。

详细迁移步骤

第一步:备份旧服务器数据

这是最关键的一步,请务必备份完整!

  1. 备份数据库

    织梦网站转移服务器
    (图片来源网络,侵删)
    • 登录您的旧服务器控制面板(如 cPanel, Plesk)或使用phpMyAdmin。
    • 选择您的织梦数据库。
    • 选择“导出”功能。
    • 选择“快速”或“自定义”模式,在自定义模式下,确保勾选了“结构”和“数据”。
    • 格式选择“SQL”,然后点击“执行”。
    • 将下载到的 .sql 文件保存到您的本地电脑上。
  2. 备份数站文件

    • 使用FTP/SFTP客户端(如 FileZilla)连接到旧服务器。
    • 下载整个网站根目录下的所有文件和文件夹(通常包括 dede, include, plus, static, templets, uploads 以及 index.php, default.php 等核心文件)。
    • 将这些文件压缩成一个 .zip.tar.gz 文件,保存到本地。

提示:为了安全,建议您同时备份 data 目录(如果存在)和 /dede/ 目录下的 config.php 文件。config.php 包含了数据库连接信息,非常有用。


第二步:上传文件到新服务器

  1. 清空新服务器空间

    通过FTP/SFTP连接到新服务器,删除默认的测试页面或任何旧文件,确保根目录是干净的。

    织梦网站转移服务器
    (图片来源网络,侵删)
  2. 上传网站文件

    • 将第一步中备份的网站压缩包,通过FTP/SFTP上传到新服务器的网站根目录。
    • 上传完成后,在本地解压,然后确保所有文件和文件夹都已正确放置在根目录下,或者,直接上传解压后的文件夹内容。
  3. 调整文件权限

    • 登录新服务器控制面板,或使用SSH连接,执行以下命令来设置正确的权限(这是织梦网站正常运行的关键):

      # 将 /path/to/your/website 替换为您网站的绝对路径
      # 设置目录权限为 755
      find /path/to/your/website -type d -exec chmod 755 {} \;
      # 设置文件权限为 644
      find /path/to/your/website -type f -exec chmod 644 {} \;
      # 特别重要的目录权限设置为 777
      # 注意:生产环境中应谨慎使用777,迁移完成后可改回755
      chmod -R 775 /path/to/your/website/uploads
      chmod -R 777 /path/to/your/website/data
      chmod -R 777 /path/to/your/website/templets
      chmod -R 777 /path/to/your/website/dede

第三步:导入数据库并修改配置

  1. 在新服务器创建数据库

    • 登录新服务器的控制面板,创建一个新的数据库和一个新的数据库用户,并为该用户授予对新数据库的所有权限,记下数据库名、用户名和密码。
  2. 修改配置文件

    • 用文本编辑器打开您上传到新服务器的 /dede/config.php 文件。
    • 修改以下信息,使其与新服务器的数据库信息一致:
      //数据库连接信息
      $cfg_dbhost = 'localhost'; // 或新数据库的主机地址
      $cfg_dbname = 'new_db_name'; // 新数据库名
      $cfg_dbuser = 'new_db_user'; // 新数据库用户名
      $cfg_dbpwd = 'new_db_password'; // 新数据库密码
      $cfg_dbprefix = 'dede_'; // 保持不变,除非您在创建时自定义了
      $cfg_db_language = 'gbk'; // 或 'utf-8',保持与旧站一致
    • 保存并上传这个修改后的 config.php 文件。
  3. 导入数据库

    • 登录新服务器的phpMyAdmin。
    • 选择您刚刚创建的新数据库。
    • 点击“导入”选项卡。
    • 选择您在第一步中备份的 .sql 文件,然后点击“执行”。

第四步:更新网站绝对路径

织梦CMS在数据库中存储了大量网站的绝对路径,这是导致迁移后网站无法显示(如图片不显示、后台登录后空白)的最常见原因。

使用织梦后台的“数据库备份与恢复”功能(推荐)

  1. 临时将您的域名解析到新服务器的IP地址,并等待DNS生效(可以使用 ping 命令检查)。
  2. 访问您的织梦后台 http://your-new-domain.com/dede/
  3. 登录后,进入“系统” -> “数据库备份与恢复”。
  4. 在“数据还原”部分,点击“一键更新网站缓存”或类似功能的按钮,在较新版本的织梦中,这个功能通常被称为“数据校验修复”或“更新系统缓存”,它会自动扫描数据库并替换旧的路径。
  5. 如果没有一键功能,则需要手动执行SQL语句(见方法二)。

手动执行SQL语句(如果后台没有一键功能)

  1. 登录新服务器的phpMyAdmin,选择您的数据库。

  2. 点击“SQL”选项卡,在输入框中执行以下几条SQL语句(请务必将 your-old-domain.com 替换为您的旧域名,your-new-domain.com 替换为新域名):

    -- 更新网站主页路径
    UPDATE `dede_homepage` SET `templet` = REPLACE(`templet`, 'your-old-domain.com', 'your-new-domain.com');
    -- 更新栏目表中的模板路径
    UPDATE `dede_arctype` SET `templet` = REPLACE(`templet`, 'your-old-domain.com', 'your-new-domain.com');
    UPDATE `dede_arctype` SET `defaultname` = REPLACE(`defaultname`, 'your-old-domain.com', 'your-new-domain.com');
    -- 更新文档表中的内容(如果内容里也包含绝对路径)
    UPDATE `dede_archives` SET `body` = REPLACE(`body`, 'your-old-domain.com', 'your-new-domain.com');
    -- 更新配置表中的网站URL
    UPDATE `dede_sysconfig` SET `value` = REPLACE(`value`, 'your-old-domain.com', 'your-new-domain.com') WHERE `varname` = 'cfg_basehost';

    注意dede_ 是默认的表前缀,如果您的网站使用了不同的前缀,请相应修改。


第五步:更新域名解析

  1. 确认新网站的所有功能都已正常(可以先用一个临时域名测试)。
  2. 登录您的域名注册商管理后台。
  3. 将域名的A记录或CNAME记录修改为新服务器的IP地址。
  4. 等待DNS生效,这通常需要几分钟到24小时,您可以使用 ping your-domain.com 来检查是否已指向新IP。

第六步:最终测试与清理

  1. 前台测试:访问 http://your-domain.com,检查首页、栏目页、内容页、图片、链接等是否正常显示。
  2. 后台测试:访问 http://your-domain.com/dede/,尝试登录后台,检查各项功能是否正常。
  3. 清理工作
    • 如果之前为了方便设置了 777 权限,现在请将 uploads, data, templets, dede 等目录的权限改回 755,以提高安全性。
    • 删除新服务器根目录下的 install 文件夹,防止被恶意利用。
    • 删除本地电脑上的所有备份文件。

常见问题与解决方案

  • 问题1:网站打开空白,但后台能登录。

    • 原因:通常是绝对路径没有更新成功。
    • 解决:重新执行“第四步:更新网站绝对路径”中的SQL语句,确保所有路径都已替换。
  • 问题2:图片无法显示,显示为红色叉号。

    • 原因:图片路径错误,或 /uploads 目录权限不正确。
    • 解决:检查图片标签中的路径是否为相对路径(应如此),并确认 /uploads 目录权限为 755775
  • 问题3:后台登录后跳转到空白页或旧域名。

    • 原因dede/config.php 中的数据库信息错误,或数据库中的缓存/配置信息未更新。
    • 解决:检查 config.php 文件,并确保在后台执行了“更新系统缓存”操作。
  • 问题4:网站打开非常慢。

    • 原因:可能是DNS解析问题,或新服务器配置较低,或数据库连接信息错误导致频繁连接失败。
    • 解决:检查DNS,检查服务器负载,再次确认 config.php 中的数据库信息无误。

遵循以上步骤,您应该能顺利完成织梦网站的迁移,祝您成功!

-- 展开阅读全文 --
头像
C语言编程能力如何有效提升?
« 上一篇 今天
如何自定义设置?
下一篇 » 今天

相关文章

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

目录[+]