如何将多个AnQiCMS 2.x站点合并到一个3.x管理?

作为一名资深的安企CMS网站运营人员,我非常理解您希望将多个现有AnQiCMS 2.x站点统一到3.x版本进行管理的需求。AnQiCMS 3.x版本在多站点管理方面进行了重大优化,旨在简化运维、提高效率。下面的文章将详细阐述这一合并过程,助您顺利完成升级。

统一管理:将多个AnQiCMS 2.x站点合并到3.x管理

随着AnQiCMS 3.x版本的推出,多站点管理模式迎来了革新。与2.x版本可能需要独立部署多套程序的方式不同,3.x版本能够通过一套核心程序实现对多个独立站点的集中管理。这种模式不仅简化了服务器资源配置,降低了维护成本,更重要的是,它提供了一个统一的后台入口,让您能够在一个界面下轻松切换和管理所有站点的内容、用户和设置。

进行这一升级和整合,意味着您将告别为每个站点维护一套独立程序、配置多个守护进程或独立Docker容器的繁琐。AnQiCMS 3.x的多站点特性允许每个站点拥有独立的数据库和文件存储空间,但在应用层面共享同一个AnQiCMS核心应用。

在开始合并之前,我们需要明确一个关键概念:AnQiCMS 3.x的多站点管理并非将所有站点的数据库内容物理合并到一个数据库中,而是让一个3.x应用实例能够识别并管理多个独立存在的数据库和站点文件结构。每个站点的数据(如文章、分类、页面)仍然存储在其各自的数据库中,文件(如上传的图片、模板)也保留在各自的站点根目录。3.x的管理后台提供了一个集中的入口和切换机制。

前期准备与数据备份

任何涉及系统升级和数据迁移的操作,详尽的备份都是不可或缺的第一步。在您着手合并之前,请务必完成以下准备工作:

首先,对所有现有的AnQiCMS 2.x站点的数据库进行完整备份。这通常意味着导出数据库的SQL文件。其次,备份每个2.x站点的全部文件,包括程序文件、上传的图片、视频等资源,以及任何自定义的模板或配置文件。将这些备份存储在安全且易于恢复的位置。

接下来,请仔细记录每个2.x站点的关键信息,包括其域名、数据库名称、数据库用户名、数据库密码以及站点文件的绝对路径。这些信息在后续的3.x新站点添加过程中至关重要。

升级主要站点至AnQiCMS 3.x核心

我们将从您的一个主要2.x站点开始,将其作为AnQiCMS 3.x的核心管理实例进行升级。这个站点将承载所有其他2.x站点的统一管理入口。

首先,登录您选定的2.x站点的后台管理界面,通过系统升级功能将其升级到最新的3.x版本。完成在线升级后,请根据您服务器的实际情况(例如,宝塔面板用户)手动调整其运行方式。如果您的2.x站点是通过计划任务或手动执行命令启动的,请先停止并移除旧的计划任务或守护进程。然后,按照AnQiCMS 3.x的推荐部署方式(例如,宝塔面板的”Go项目”或”通用项目”功能),将该站点配置为新的3.x应用。在配置时,请确保指向已升级的AnQiCMS可执行文件,并使用一个固定的端口(例如默认的8001)。这个端口将是所有合并站点共享的应用端口。

这一步完成后,请在浏览器中访问该主要站点,确认其前台和后台均能正常运行,且版本已更新为3.x。

停止并整理其他2.x站点实例

在主要站点成功升级并运行后,您需要对其他待合并的2.x站点进行清理。

对于每个剩余的2.x站点,请通过服务器的计划任务管理或进程管理工具,彻底停止并删除它们原有的AnQiCMS 2.x运行进程或计划任务。由于3.x采用了单应用多站点的管理模式,这些旧的独立运行实例将不再需要,停止它们可以避免端口占用和资源冲突。这一操作仅停止程序运行,并不会影响站点的数据和文件,这些数据正是我们后续将要利用的。

将现有2.x站点添加到3.x管理

现在,我们将把您的其他2.x站点正式纳入到这个统一的3.x管理后台中。

登录您已升级到3.x版本的主要站点的后台。在左侧菜单中找到“多站点管理”功能,并点击“添加新站点”按钮。在弹出的表单中,您需要准确填写以下信息:

  • 站点名称: 为新站点起一个便于识别的名称。
  • 站点根目录: 这是一个非常关键的字段。这里请填写您原2.x站点的实际文件根目录路径(例如/www/wwwroot/old-site.com)。AnQiCMS 3.x将利用这个目录来存放该站点的特定文件,并与原站点共享静态资源。
  • 网站地址: 填写原2.x站点的完整访问URL(例如http://old-site.com)。
  • 管理员账号和密码: 为这个新添加的站点设置独立的后台管理员账号和密码。
  • 数据库名称: 再次强调,这里请填写原2.x站点的数据库名称。3.x系统将自动连接并继承该数据库中的所有内容数据,而无需重新初始化。
  • 数据库信息复用: 勾选“复用默认数据库账号信息”,因为我们是在同一个Docker或服务器环境下管理,通常数据库用户和密码是共享的。如果您原2.x站点使用独立的数据库账号,则需要取消勾选并如实填写。
  • 选择使用的模板: 根据您原2.x站点的模板兼容性选择合适的模板。

填写完毕后,点击“确定”完成新站点的添加。重复此过程,将所有需要合并的2.x站点逐一添加到3.x的多站点管理中。

配置Web服务器反向代理

在所有站点都添加到3.x后台后,您还需要调整Web服务器(如Nginx或Apache)的配置,以便正确路由用户的访问请求。

对于每一个新添加的站点,您需要在Web服务器上为其配置一个反向代理。所有这些反向代理都应指向同一个AnQiCMS 3.x应用实例的监听端口(例如,之前设置的8001)。这意味着,当用户访问http://old-site.com时,Web服务器会将请求转发到 http://127.0.0.1:8001,由统一的AnQiCMS 3.x应用处理。

在Nginx中,您需要为每个站点创建一个server块,并将proxy_pass指向http://127.0.0.1:8001。对于宝塔面板用户,可以在“网站”->“反向代理”中添加新的反向代理,目标URL同样设置为 http://127.0.0.1:8001。确保每个站点的“运行目录”