AnQiCMS 提供了强大的多站点管理功能,让您能够在同一套系统中轻松运营多个独立网站,每个网站拥有独立的域名和内容。这对于拥有多个品牌、子站点,或是需要针对不同受众群体提供差异化内容的运营者来说,无疑是一项极其便利且高效的解决方案。通过统一的后台管理入口,您不必为每个站点部署一套独立的系统,大大简化了运维工作,同时又确保了前端内容的完全独立显示。
接下来,我们将详细探讨如何在 AnQiCMS 中配置多站点,确保每个域名下的内容都能独立展示,互不干扰。
理解 AnQiCMS 多站点管理的核心优势
在深入配置之前,我们先来明确 AnQiCMS 多站点管理为您带来的核心价值。它不仅仅是简单地将多个网站集中管理,更重要的是实现了内容和数据的隔离性。这意味着:
- 内容独立: 每个站点拥有独立的文章、产品、页面、分类和标签数据,您可以根据不同站点的定位发布专属内容。
- 域名独立: 每个站点可以绑定不同的域名,实现品牌或业务的差异化。
- 管理集中: 尽管内容独立,但所有站点的管理都可以在同一个 AnQiCMS 后台进行,操作便捷,效率更高。
- 资源共享与定制: 虽然内容独立,但底层系统资源(如服务器、数据库连接池)可以共享,同时每个站点可以灵活选择或定制自己的模板,实现个性化展示。
简而言之,AnQiCMS 的多站点功能旨在提供一个既能统一管理,又能实现高度内容独立性的解决方案。
准备您的服务器环境
在 AnQiCMS 中添加新站点之前,您需要确保服务器环境已为新域名做好准备。这一步的关键在于配置反向代理,将新域名的访问请求正确转发到运行中的 AnQiCMS 应用。
无论您是直接在 Linux 环境下部署 AnQiCMS,还是通过 Docker 容器(如使用宝塔面板、1Panel、aaPanel 等)部署,核心思路都是相同的:
解析新域名: 首先,将您计划用于新站点的域名解析到您的服务器 IP 地址。
配置反向代理:
对于 Nginx 或 Apache 用户: 您需要在 Web 服务器的配置文件中为新域名添加一个反向代理规则。这个规则会监听新域名的 HTTP/HTTPS 请求,并将其转发到 AnQiCMS 应用正在监听的端口(AnQiCMS 默认端口通常是
8001)。- 以 Nginx 为例,您会在
nginx.conf或独立的站点配置文件中添加类似以下的配置段,确保proxy_pass指向 AnQiCMS 的内部地址和端口:
server { listen 80; server_name new.anqicms.com; # 您的新域名 root /www/wwwroot/new.anqicms.com/public; # 建议为新站点设置独立的公共目录 location @AnqiCMS { proxy_pass http://127.0.0.1:8001; # AnQiCMS 应用监听的端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 404 =200 @AnqiCMS; location / { try_files $uri $uri/index.html @AnqiCMS; } }请注意,
root目录在实际多站点配置中,通常会指向新站点根目录下用于存放静态资源的public文件夹,这与在 AnQiCMS 后台设置的“站点根目录”是两个不同的概念,后者是 AnQiCMS 用于存储其自身数据(如缓存、上传文件)的逻辑目录。- 以 Nginx 为例,您会在
对于宝塔面板、1Panel 或 aaPanel 用户: 这些面板通常提供了图形界面来简化反向代理的配置。您可以在“网站”或“反向代理”模块中,创建一个新的反向代理站点,将新域名绑定到
127.0.0.1:8001(如果您的 AnQiCMS 运行在其他端口,请对应修改)。这些面板也会处理好 Nginx/Apache 的底层配置和伪静态规则。
完成反向代理配置后,您需要重启您的 Web 服务器(Nginx 或 Apache)以使更改生效。此时,通过浏览器访问新域名,应该能看到 AnQiCMS 的安装向导或者默认站点的界面,这表明请求已经成功转发到 AnQiCMS。
在 AnQiCMS 后台添加新站点
服务器环境准备就绪后,接下来在 AnQiCMS 后台创建新的站点:
- 登录到默认站点后台: 使用您的主域名或任何已有的站点域名登录 AnQiCMS 的后台管理系统(例如
yourdomain.com/system)。 - 进入多站点管理: 在左侧导航菜单中,找到并点击“多站点管理”功能。这里会列出所有已配置的站点。
- 添加新站点: 点击页面上的“添加新站点”按钮。您会看到一个表单,需要填写新站点的详细信息:
- 站点名称: 为您的新站点指定一个易于识别的名称,例如“产品展示站”或“公司子品牌A”。这有助于您在后台快速区分不同的站点。
- 站点根目录: 这是一个非常关键的设置,用于为新站点独立存储缓存、上传文件、日志等数据。为了保证内容和数据完全独立,务必为每个站点设置一个独一无二的站点根目录。 建议路径以
/app/开头(如果 AnQiCMS 部署在 Docker 中,这是其内部路径),并结合域名来命名,例如/app/new_anqicms_com。 - 网站地址: 填写新站点的完整访问地址,即您之前配置反向代理的新域名,例如
http://new.anqicms.com。 - 管理员账号密码: 为这个新站点设置独立的后台管理账号和密码。这意味着即使新站点的内容和数据库独立,您也可以为其分配独立的管理员来管理。
- 数据库名称: 同样是为了实现数据独立,您需要为新站点指定一个新的、未被占用的数据库名称。与站点根目录类似,建议以域名或站点名称命名,例如
new_anqicms_db。 - 数据库信息复用: 勾选“复用默认数据库账号信息”通常是推荐做法,尤其当您的 AnQiCMS 实例(特别是 Docker 部署)已经拥有对数据库的完整管理权限时,无需重复填写数据库连接凭据。如果您希望新站点使用不同的数据库服务器或账号,则可以取消勾选并手动填写。
- 选择使用的模板: 从下拉列表中选择一个适合新站点的模板。AnQiCMS 支持灵活的模板切换,您可以为每个站点选择不同的主题,甚至定制专属模板。
- 确认创建: 仔细检查所有填写的信息,特别是站点根目录和数据库名称的唯一性,然后点击“确定”按钮完成新站点的创建。
访问和管理您的新站点
站点创建成功后,您现在就可以通过新域名访问其前端页面了。
- 访问前端: 在浏览器中输入您新绑定的域名(例如
http://new.anqicms.com),您将看到新站点的前端内容。由于数据是独立的,它将显示一个全新的、尚未填充内容的站点界面(或您选择的模板的默认内容)。 - 访问后台: 访问新站点的后台地址,通常是
您的新域名/system/(例如http://new.anqicms.com/system/)。使用您在创建站点时设置的管理员账号和密码登录。
登录新站点的后台后,您会发现它的内容管理模块(文档、分类、页面等)是完全空白的,等待您为其填充专属内容。这意味着新站点的所有内容操作都将在其独立的后台环境中进行,与主站点的数据完全隔离,实现了真正意义上的内容独立显示。
内容独立与模板的应用
通过上述配置,新站点在数据层面上已经与默认站点完全分离。这意味着您在新站点后台发布的任何文章、产品、页面或分类,都只会显示在新站点的域名下。
在模板设计方面,AnQiCMS 支持每套模板目录中包含一个 config.json 文件来描述模板信息,并且您可以为每个站点选择不同的模板。这意味着您可以为每个站点打造独特的用户界面和体验,进一步强化其内容的独立性和品牌识别度。
虽然本篇文章主要聚焦于内容独立显示,值得一提的是,AnQiCMS 的模板标签(例如 archiveList、categoryList 等)还提供了 siteId 参数。在某些高级场景下,如果您需要在某个站点上显示其他站点的特定内容,可以通过指定 siteId 参数来实现跨站点数据调用,但默认情况下,每个站点的标签调用都会作用于其自身站点的数据。
AnQiCMS 的多站点管理功能,让您在享受集中管理便利的同时,也能轻松应对多品牌、多业务线的复杂内容运营需求,确保每个域名下的内容都能以独立且定制化的方式呈现给最终用户。
常见问题解答 (FAQ)
1. AnQiCMS 的多站点功能与在同一服务器上安装多个独立 AnQiCMS 实例有什么区别? AnQiCMS 的多站点功能允许您在同一个 AnQiCMS 应用实例下,管理多个拥有独立域名和内容(包括数据库和存储目录)的网站。这意味着只有一个 AnQiCMS 应用程序在运行,共享一部分底层资源(如 Go 应用程序进程、部分配置)。 而安装多个独立 AnQiCMS 实例,则是在服务器上部署多套完全独立的 AnQiCMS 应用程序,每套应用程序都有自己的进程、端口、数据库和文件系统。多站点功能通过软件层面逻辑隔离,而多个实例是物理层面的隔离。多站点功能更节省服务器资源、统一管理入口,适合内容相关性不强但管理人员希望集中管理的场景。
2. 我可以在不同的站点之间共享某些内容吗?
默认情况下,AnQiCMS 的多站点设计是为了实现内容独立。然而,对于某些特殊需求,AnQiCMS 的模板标签(如 archiveList、categoryList、pageList 等)提供了 siteId 参数。通过在标签中明确指定 siteId,您可以尝试在当前站点中调用其他站点的特定内容。但这需要您的模板开发者根据业务逻辑进行定制,以确保数据显示的正确性和安全性,并且这种共享通常是单向的(从一个源站点读取到目标站点)。
3. 如果我更改了其中一个站点的模板,会影响到其他站点吗? 不会。AnQiCMS 允许每个站点独立选择和使用不同的模板。在您创建新站点时,就指定了它将使用的模板。您可以在新站点的后台管理中,随时更换或修改当前站点的模板,这些操作都只会影响当前站点的外观和布局,而不会对其他已配置的站点造成任何影响。这种设计提供了极大的灵活性,让每个站点都能拥有独特的用户体验。