在AnQiCMS中轻松实现多站点内容管理与显示

对于运营多个品牌、子站点或内容分支的用户来说,统一管理各个站点的内容是一项挑战。AnQiCMS 提供了强大的多站点管理功能,让您可以在一个系统实例下轻松创建和维护多个独立的网站,并灵活控制它们内容的显示方式。本文将详细介绍如何在AnQiCMS中配置多站点,并实现内容的独立管理与显示。

1. 准备工作:确保AnQiCMS环境就绪

在开始配置多站点之前,请确保您的服务器上已安装并运行着一个AnQiCMS实例。最推荐的方式是使用Docker部署,它能提供一个简洁高效的运行环境。通常,AnQiCMS实例会监听一个特定的端口,例如默认的 8001

此外,您需要为每一个计划创建的新站点准备好独立的域名,并将这些域名正确解析到您的服务器IP地址。这是多站点功能正常运作的基础。

2. 配置反向代理:为新站点指明方向

AnQiCMS的多站点功能是通过单个后台管理多个前端网站实现的,这意味着所有网站的请求最终都会导向同一个AnQiCMS程序。为了让不同的域名能够正确访问到对应的站点内容,我们需要为每个新域名配置反向代理。这里以宝塔面板为例,演示如何进行反向代理设置,对于其他环境(如手动配置Nginx或Apache),原理是类似的:

  1. 在宝塔面板创建站点(仅用于代理): 登录您的宝塔面板,进入“网站”菜单。为了让面板为您的新域名生成SSL证书和管理网站目录,您需要点击“添加站点”。在弹出的窗口中,填写新站点的域名(例如 dev.anqicms.com),并将根目录设置为一个未被其他网站占用的新路径(例如 /www/wwwroot/dev.anqicms.com)。FTP和数据库可以选择不创建,PHP版本选择“纯静态”,然后提交。请记住这个新创建的站点目录,后续会在AnQiCMS后台用到。

  2. 配置反向代理规则: 新站点创建成功后,点击该站点右侧的“设置”按钮。在设置界面中找到“反向代理”选项卡,点击“添加反代”。

    • 代理名称:可以随意填写,例如“AnQiCMS代理”。
    • 目标URL:填写您的AnQiCMS实例监听的地址和端口,通常是 http://127.0.0.1:8001。如果您修改了AnQiCMS的运行端口,请填写相应的端口号。
    • 发送域名:选择“$host”。
    • 勾选“启用反向代理”,然后点击“提交”。

通过这样的配置,当用户访问 dev.anqicms.com 时,宝塔面板会将请求转发给本地运行在8001端口的AnQiCMS程序。

3. 在AnQiCMS后台添加新站点:定义站点特性

完成反向代理配置后,接下来我们需要在AnQiCMS的管理后台中注册这个新站点。

  1. 登录默认站点的管理后台: 访问您AnQiCMS默认站点的后台地址(例如 http://your-main-domain.com/system/),使用管理员账号登录。

  2. 进入多站点管理: 在左侧菜单中找到并点击“多站点管理”功能。

  3. 添加新站点: 点击“添加新站点”按钮,您会看到一个表单,需要填写新站点的详细信息:

    • 站点名称:为您的新站点取一个易于识别的名称。
    • 站点根目录:这里非常关键!由于AnQiCMS在Docker中运行,并且需要为每个站点的数据(如缓存、上传文件等)提供独立的存储空间,这个目录路径必须以/app/开头,并且是独一无二的。建议使用域名中点号替换为下划线的形式,例如 /app/dev_anqicms_com。请确保这个路径与您在宝塔面板创建的站点目录路径一致,但前缀要改为/app/
    • 网站地址:填写您为新站点准备的完整域名,例如 http://dev.anqicms.com
    • 管理员账号/密码:为这个新站点的后台设置独立的管理员登录凭证。
    • 数据库名称:同样,为新站点设置一个独立的数据库名称,例如 dev_anqicms_com。这确保了每个站点拥有独立的数据存储。
    • 数据库信息复用:如果您是Docker安装且数据库与AnQiCMS容器在同一网络下,通常可以选择“复用默认数据库账号信息”,因为Docker容器可以访问同一个数据库服务。如果您的数据库独立部署,则需手动填写连接信息。
    • 选择使用的模板:为新站点选择一个默认的模板主题。

填写完毕后,点击“确定”完成新站点的创建。此时,一个新的独立站点就已经成功添加到您的AnQiCMS系统中了。

4. 多站点内容的独立管理与配置

一旦新站点创建成功,它将拥有一个独立的管理后台。您可以通过“多站点管理”列表中的“访问后台”按钮直接进入,或者直接在浏览器中输入 http://dev.anqicms.com/system/ 访问。

在这个独立的后台中,您可以像管理单一网站一样管理这个新站点:

  • 全局设置:配置站点的名称、LOGO、备案号、版权信息等。
  • 内容管理:独立发布文章、产品,创建分类、标签,并定义独特的内容模型。
  • 页面资源:管理专属的单页面和媒体文件。
  • 功能管理:为该站点配置SEO(伪静态、TDK)、友情链接、留言表单等。
  • 模板设计:为该站点启用或定制模板。

这意味着每个站点都可以有自己的品牌形象、内容策略和SEO优化,而无需在不同的系统之间切换。

5. 多站点内容的灵活显示与调用

AnQiCMS的模板标签体系非常灵活,支持通过 siteId 参数来控制内容的显示范围。

  • 默认行为: 当您在某个站点的模板中不指定 siteId 参数时,所有内容