在瞬息万变的数字时代,企业和内容运营者常常面临着管理多个网站的挑战。安企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后台的“多站点管理”列表中,点击“访问后台”按钮,直达新网站的后台