在使用 AnQiCMS 搭建和管理网站时,用户常常会面临需要为不同品牌、业务或地区创建独立站点的需求,并且希望这些站点能在各自的域名下独立显示。AnQiCMS 强大的多站点管理功能,正是为了解决这一痛点而设计的。它允许用户在一套 AnQiCMS 核心程序的基础上,轻松创建并运营多个内容独立、域名独立的网站。

AnQiCMS 多站点管理的核心理念

AnQiCMS 的多站点管理并非简单地复制多份程序代码,而是基于其高效的 Go 语言架构和模块化设计,实现统一管理和资源共享。这意味着用户只需维护一个 AnQiCMS 实例,就能像管理“文件夹”一样管理所有旗下的独立站点。这种设计带来了显著的优势:降低了运维成本,简化了升级维护流程,同时保证了各站点数据的独立性和安全性。

系统通过巧妙的配置,让不同的域名请求都指向同一个 AnQiCMS 核心服务,再由 AnQiCMS 根据请求的域名智能地将内容分发到对应的独立站点。

实现独立显示:关键步骤解析

要让 AnQiCMS 的多站点内容在不同域名下独立显示,主要涉及到以下几个核心步骤:

1. 部署 AnQiCMS 核心服务

首先,在服务器上部署 AnQiCMS 的主程序。通常情况下,这只需要一个 AnQiCMS 应用程序实例。无论您是采用宝塔面板、1Panel 的 Docker 部署方式,还是直接在命令行环境下运行,AnQiCMS 都会在一个固定的端口上提供服务,例如默认的 8001 端口。这个端口是所有子站点共享的“入口”,后续不同域名的请求都会先通过这个端口。

2. 配置Web服务器反向代理

这是实现不同域名独立显示的关键一步。由于 AnQiCMS 核心服务只监听一个内部端口(如 8001),而我们希望用户通过不同的域名(如 www.siteA.comwww.siteB.com)访问不同的站点,这就需要一个 Web 服务器(如 Nginx 或 Apache)作为“中间人”来处理外部请求。

您需要在 Web 服务器上为每个独立站点配置反向代理:

  • 为每个新域名创建站点: 在您的 Web 服务器管理界面(如宝塔面板、1Panel)中,为 www.siteA.comwww.siteB.com 等每一个新站点添加域名。
  • 设置反向代理规则: 将这些域名对应的请求,反向代理到 AnQiCMS 核心服务所在的内部地址和端口,例如 http://127.0.0.1:8001。Web 服务器会接收到 www.siteA.com 的请求,然后将其转发给 AnQiCMS 服务的 8001 端口。

通过这样的配置,Web 服务器就能够根据用户访问的域名,将请求精准地路由到 AnQiCMS 的同一个后端服务上。

3. 在 AnQiCMS 后台创建新站点

完成反向代理配置后,接下来需要在 AnQiCMS 的后台管理系统中创建这些独立的站点:

  • 登录主站点后台: 访问您 AnQiCMS 主站点(最初安装的那个站点)的后台管理界面。
  • 进入多站点管理: 在后台左侧菜单中找到“多站点管理”功能。
  • 添加新站点: 在添加新站点的界面中,您需要填写以下关键信息:
    • 站点名称: 用于后台识别,便于管理。
    • 站点根目录: 这是一个非常重要的设置,用于存放该站点的独立缓存、上传文件等数据。即使 AnQiCMS 的程序代码只部署了一份,每个站点的数据目录也必须是独立的且唯一的,例如 /app/siteA_com。系统会根据这个目录来隔离不同站点的数据。
    • 网站地址: 填写该站点对应的独立域名,如 http://www.siteA.com。AnQiCMS 会根据这个域名来识别请求并显示相应站点的内容。
    • 管理员账号密码: 为这个新站点设置独立的后台管理账号和密码。
    • 数据库名称: 同样,每个独立站点建议使用独立的数据库名称,例如 siteA_com_db,以确保数据完全隔离。如果您的数据库权限允许,通常可以选择“复用默认数据库账号信息”来简化配置。
    • 选择使用的模板: 为该站点选择一个专属的模板。

完成这些设置后,点击确认,新的独立站点便创建成功,并可以通过其专属域名进行访问了。

4. 内容与模板的独立性

AnQiCMS 在多站点模式下,为每个站点提供了高度独立的内容和模板管理:

  • 内容独立: 每个在后台创建的站点,其文章、产品、页面、分类、标签等所有内容数据都是完全独立的。一个站点的编辑不会影响到另一个站点,确保了内容的个性化和专注性。
  • 模板独立: 每个站点都可以选择并启用自己专属的模板。您可以在 /template 目录下创建多个不同的模板包(如 defaultsiteA_themesiteB_theme),并在后台为每个站点指定使用对应的模板。这意味着每个站点都可以拥有独特的设计风格和用户体验,而无需担心相互干扰。AnQiCMS 的模板文件约定(如 /template 根目录、config.jsonmobile/ 目录等)也支持这种灵活的定制。

运营价值与优势

通过 AnQiCMS 实现多站点内容在不同域名下的独立显示,为运营者带来了多方面的价值:

  • 集中式管理,分散式展示: 只需要一个后台就能管理所有网站,但每个网站在前台都表现得完全独立,提升管理效率。
  • 资源高效利用: 避免了重复安装和维护多套 AnQiCMS 程序,节省了服务器资源和人力成本。
  • SEO 优化: 每个站点都可以配置独立的 SEO 标题、关键词、描述,利用伪静态规则、301 重定向等工具进行个性化优化,更好地服务于不同域名下的目标受众。
  • 数据隔离与安全: 独立的数据目录和数据库确保了各站点数据之间的隔离,提高了数据安全性。
  • 灵活扩展性: 随着业务发展,可以随时创建新站点,满足多品牌、多语言、多业务线的发展需求。

AnQiCMS 通过一套简洁高效的架构,真正让用户能够轻松驾驭多站点运营的复杂性,将精力更多地投入到内容创作和业务增长中。


常见问题 (FAQ)

  1. 一台 AnQiCMS 服务器能否承载大量不同域名的独立站点? AnQiCMS 基于 Go 语言开发,拥有高并发和高性能的架构优势。在合理的服务器资源配置下,一个 AnQiCMS 实例能够稳定地承载多个乃至大量独立站点。其多站点设计旨在高效利用资源,通过 Web 服务器的反向代理和 AnQiCMS 内部的域名识别机制,有效分发流量,确保每个站点的独立运行和内容显示。具体承载量取决于服务器硬件、站点内容复杂度和并发访问量,但通常比部署多个独立 CMS 实例的效率更高。

  2. 每个独立站点的内容和模板是如何保持独立的? 每个独立站点的内容在 AnQiCMS 后台创建时,都会被分配一个独立的“站点根目录”和“数据库名称”。这意味着每个站点的数据(如文章、图片、分类、页面等)都存储在自己的数据库表中,上传的媒体文件也保存在各自独立的目录中,从而实现数据的物理隔离。模板方面,AnQiCMS 支持为每个站点指定不同的模板主题包,这些模板包通常存放在 /template 目录下,并由站点独立引用,确保了每个网站拥有独特的外观和