从AnQiCMS 2.x升级到3.x时,多站点合并部署的具体操作流程是什么?

安企CMS,作为一款广受中小企业和内容运营团队青睐的内容管理系统,一直在不断进化以提供更高效、更灵活的服务。从2.x版本到3.x的升级,不仅仅是版本数字的更迭,更带来了底层架构的优化和多站点管理模式的飞跃。对于那些在2.x时期已经部署了多个站点,并希望在3.x中实现统一、高效合并部署的用户而言,这无疑是一个重要的里程碑。

在您踏上这一升级之旅前,我们首先要明确的是,AnQiCMS 3.x版本的核心优势在于其部署的简化和多站点管理的集中化。不同于2.x时期可能需要为每个站点独立部署一套AnQiCMS程序,3.x版本能让您通过单个AnQiCMS应用程序实例,高效管理多个独立站点。这不仅大大降低了服务器资源消耗,也简化了日常运维工作。

接下来,我们将详细阐述从AnQiCMS 2.x升级到3.x,并实现多站点合并部署的具体操作流程。整个过程需要细致谨慎,但只要遵循步骤,您将能顺利过渡。


一、升级前的关键准备工作

任何系统升级,数据安全都是重中之重。在开始之前,请务必执行以下准备:

  1. 全面数据备份: 这是不可或缺的第一步。请完整备份您所有2.x站点的数据,包括数据库(如MySQL)和文件目录(/www/wwwroot/anqicms.com这类,以及您其他站点的根目录)。将这些备份文件存放在安全、独立的位置。这能确保在任何意外情况下,您都能恢复到升级前的状态。
  2. 确定主升级站点: 在您的所有2.x站点中,挑选一个作为“默认站点”进行首个升级。这个站点将在后续步骤中承担3.x核心应用程序的角色。通常选择一个流量适中、数据不那么敏感的站点优先处理。
  3. 记录现有配置: 仔细记录每个2.x站点的数据库信息、网站根目录、绑定的域名以及Nginx/Apache的反向代理配置。这些信息在合并部署新站点时非常有用。
  4. 服务器环境确认: AnQiCMS 3.x对宝塔面板有更友好的“Go项目”部署支持,推荐使用宝塔面板7.9.3及以上版本。确保您的服务器环境满足3.x的运行要求。

二、将主升级站点升级至AnQiCMS 3.x

这个阶段,我们将选定的“默认站点”从2.x升级到3.x,并将其部署模式转换为3.x推荐的Go项目模式。

  1. 登录并执行站内升级: 首先,登录您选定的AnQiCMS 2.x默认站点的后台管理界面。找到“系统升级”功能,并执行在线升级操作,将程序更新到最新的3.x版本。在升级完成后,通常建议通过旧的计划任务重启一下站点服务,以确保新版本程序加载。

    • 小贴士: 如果升级后,您发现后台版本号仍未更新,这可能是浏览器缓存或旧的程序进程未完全终止。您可以尝试清除浏览器缓存,或稍后检查进程并手动终止后重启。
  2. 停用并移除旧的计划任务: AnQiCMS 2.x通常依赖于服务器的计划任务(Cron Job)来守护进程。而3.x版本在宝塔面板等环境下,则推荐使用“Go项目”的方式进行部署,它自带进程守护和更优雅的启动/停止机制。因此,在升级到3.x后,您需要登录服务器管理面板(如宝塔),找到并停止所有与该AnQiCMS站点相关的旧计划任务,然后将它们删除

  3. 将站点部署模式切换为“Go项目”: 这一步是3.x部署方式的核心。

    • 在服务器管理面板(以宝塔为例),进入“网站”菜单,选择“Go项目”。
    • 点击“添加Go项目”,在弹出的配置窗口中,填写相关信息。
      • 项目执行文件: 指向您主升级站点AnQiCMS应用程序的实际可执行文件路径(例如:/www/wwwroot/yourdomain.com/anqicms)。
      • 项目名称: 填写一个便于识别的名称,如“AnQiCMS主应用”。
      • 项目端口: 填写主升级站点AnQiCMS程序监听的端口(默认是8001)。
      • 执行命令: 通常与“项目执行文件”相同。
      • 运行用户: 建议选择www用户。
      • 开机启动: 勾选此项,确保服务器重启后程序能自动运行。
      • 绑定域名: 填写您主升级站点的域名。
    • 点击提交完成配置。此时,您的主升级站点已经成功以3.x的Go项目模式运行,并且保留了原有的数据和配置。

三、合并部署其他AnQiCMS 2.x站点至3.x环境

现在,您的AnQiCMS 3.x核心应用程序已成功运行。接下来,我们将把原有的多个AnQiCMS 2.x站点,“合并”到这个统一的3.x多站点管理体系中。

  1. 停用并移除其他站点的计划任务: 对于每一个尚未升级的AnQiCMS 2.x站点,重复上述“停用并移除旧的计划任务”步骤。确保所有旧的AnQiCMS 2.x程序实例都已停止运行,并清除了其对应的计划任务。

  2. 为新站点配置Nginx/Apache反向代理: 3.x的多站点管理意味着所有站点都将通过同一个3.x AnQiCMS应用程序实例来处理请求。因此,您需要为每个即将合并的站点配置Nginx或Apache反向代理,将它们各自的域名请求转发到主AnQiCMS 3.x应用程序监听的端口(例如:8001)。

    • 以宝塔为例,创建“PHP项目”(纯静态)并配置反向代理:
      • 在宝塔面板“网站”菜单中,选择“PHP项目”,点击“添加站点”。
      • 填写新站点的域名(例如:dev.anqicms.com),根目录可以暂时默认或复制其旧站点的根目录。数据库选择“不创建”,PHP版本