如何在同一台物理服务器上部署多个独立的AnQiCMS站点?

在瞬息万变的数字时代,企业和内容运营者常常面临着管理多个网站的挑战。安企CMS(AnQiCMS)作为一款基于 Go 语言开发的高效内容管理系统,其多站点管理功能正是为解决这一痛点而生。作为一名精通安企CMS的网站运营人员,我深知读者对于高效、便捷的解决方案的渴望。今天,我将详细阐述如何在同一台物理服务器上部署多个独立的安企CMS站点,帮助您优化资源、简化管理。

开启多站点之旅:安企CMS的核心优势

安企CMS项目定位明确,旨在成为中小企业和内容运营团队的首选内容管理工具。其核心亮点之一便是强大的“多站点管理”能力。这意味着您无需为每个站点单独部署一套安企CMS代码,而是通过一个主实例,即可统一创建、管理和维护多个独立的内容站点。这不仅极大地减少了重复工作量,方便了跨站点数据共享和资源整合,更能有效利用服务器资源,降低运维成本。无论是拥有多个品牌子站点,还是需要管理不同内容分支的自媒体矩阵,安企CMS的多站点功能都能提供简洁高效的解决方案。

部署前的周全准备

在着手部署多个安企CMS站点之前,一些基础准备工作是必不可少的。首先,您需要一台稳定的服务器,建议选择 Linux 操作系统,因为它与安企CMS的 Go 语言后端结合更为紧密,能提供更优的性能和安全性。此外,服务器上需安装 MySQL 数据库以及 Nginx 或 Apache 等反向代理服务器软件。

域名配置是多站点部署的关键环节。您需要为每个独立的安企CMS站点准备好各自的域名(例如 site1.com, site2.com),并确保这些域名已经正确解析到您的服务器 IP 地址。正确的 DNS 配置是让用户能够访问到您各个网站的前提。

在同一台服务器上部署多个安企CMS站点

安企CMS的多站点部署策略基于一个核心理念:一个安企CMS主程序,管理多个前端站点。这意味着您只需要运行一个安企CMS二进制文件或Docker容器,然后通过其后台功能和反向代理配置来区分和管理不同的网站。

部署主安企CMS实例

首先,我们需要在服务器上部署一个主安企CMS实例。这可以通过两种主要方式实现:

方法一:利用宝塔面板或1Panel的便捷部署

如果您使用宝塔面板(或其国际版aaPanel)或1Panel等可视化面板,部署过程将更为简化:

您可以在面板的应用商店中搜索并安装 Docker 版的 AnQiCMS,或者通过“Go项目”功能直接部署 AnQiCMS 二进制文件。

如果您选择Docker部署,请在创建容器时,指定一个内部端口(例如 8001)和对应的服务器暴露端口。如果您后续计划在Docker中运行多个独立的安企CMS实例(尽管安企CMS的“多站点管理”功能允许单个实例管理多个站点,但在某些特定场景下,您可能希望运行多个隔离的Docker容器),则需要为每个容器分配一个不同的服务器暴露端口。

完成Docker或Go项目的安装后,为主安企CMS实例配置反向代理。在面板的“网站”管理中,创建一个反向代理站点,将您的主域名(例如 main.com)指向 AnQiCMS 实例的内部地址和端口(例如 127.0.0.1:8001)。这将确保您的主站点能够被正常访问。

方法二:命令行下的手动部署

对于更倾向于手动控制或在没有可视化面板的环境中,您可以选择命令行部署:

从安企CMS官网下载适用于您服务器架构的 Linux 安装包,并将其解压到指定目录,例如 /www/wwwroot/anqicms-main

进入解压后的目录,执行 start.sh 脚本来启动安企CMS主程序。为了确保程序在服务器重启后也能自动运行,建议通过 crontab -e 添加计划任务,设置每分钟检查并启动 start.sh

接下来,您需要配置 Nginx 或 Apache 反向代理。为您的主域名(例如 main.com)创建一个新的虚拟主机配置。将 root 目录指向安企CMS主程序目录下的 public 文件夹(例如 /www/wwwroot/anqicms-main/public),并配置反向代理规则,将所有请求转发到 AnQiCMS 实例的监听端口(例如 http://127.0.0.1:8001)。配置完成后,重启 Nginx/Apache 服务使更改生效。

通过安企CMS后台添加并管理多个独立站点

主安企CMS实例部署并正常运行后,便是利用其强大的多站点管理功能来添加其他独立站点的关键步骤。

登录到您主安企CMS实例的后台管理界面。在左侧菜单中,您会找到“多站点管理”功能。点击“添加新站点”按钮,开始为您的新网站进行配置。

在这里,您需要为新站点填写一系列关键信息:

  • 站点名称:用于后台识别和管理,请根据实际情况填写。
  • 站点根目录:这是一个用于存储新站点缓存、上传文件等独立数据的目录。对于Docker部署,它通常以/app/开头,例如 /app/dev_anqicms.com;对于手动部署,则是您服务器上的一个新目录,例如 /www/wwwroot/newsite.com。请确保每个站点的根目录名称都是唯一的,以避免数据混淆。
  • 网站地址:填写新站点的完整域名,例如 http://dev.anqicms.com。此域名必须已经解析到您的服务器 IP。
  • 管理员账号密码:为新站点设置独立的后台管理账号和密码。
  • 数据库名称:每个新站点都应该拥有独立的数据库,以实现数据的完全隔离。请填写一个唯一的数据库名称,例如 dev_anqicms_com。如果您是Docker安装,并且拥有数据库的完整管理权限,可以选择“复用默认数据库账号信息”,安企CMS会自动为您创建并配置数据库。
  • 选择使用的模板:为新站点选择一套合适的模板。

完成信息填写并点击确定后,安企CMS将在后台为您创建这个新的站点实例。

配置新站点的反向代理

最后一步是为您的新站点配置反向代理。在您的 Nginx 或 Apache 配置中,为每个新站点的域名添加一个独立的虚拟主机或站点配置。同样地,将这些新站点的域名指向安企CMS主实例的监听端口(例如 http://127.0.0.1:8001)。

例如,对于 Nginx,新的站点配置可能如下所示:

server
{
    listen       80;
    server_name dev.anqicms.com; # 新站点的域名
    root /www/wwwroot/newsite.com/public; # 新站点的根目录(对应安企CMS后台设置的站点根目录,但此处指向其public子目录)

    location @AnqiCMS {
        proxy_pass http://127.0.0.1:8001; # 指向主安企CMS实例的端口
        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;
    }
    access_log /var/log/nginx/newsite.access.log; # 独立的访问日志
}

配置完成后,务必重启您的 Nginx/Apache 服务,以便新的反向代理规则生效。至此,您的新站点便可通过其专属域名访问并使用了。您可以从主安企CMS后台的“多站点管理”列表中,点击“访问后台”按钮,直达新网站的后台