PublicCMS 多站点管理实战指南:3 步在一个后台管起多个网站
PublicCMS 多站点管理实战指南3 步在一个后台管起多个网站【免费下载链接】PublicCMSMore than 2.7 million lines of code modification continuously iterated for 9 years to modernize java cms, easily supporting tens of millions of data, tens of millions of PV; Support static, server side includes; Currently has 0.0005% of the worlds users (w3techs provided data), language support in Chinese, Japanese, English项目地址: https://gitcode.com/gh_mirrors/pu/PublicCMS一个后台要管好几个网站来回切换、重复建设太麻烦如果你正在运营公司官网、区域分站或几个不同风格的站点PublicCMS 的多站点管理功能正好解决这个问题一套系统、一个管理后台同时维护多个相互隔离又共享核心资源的网站。本文带你从零走完建站点 → 配域名 → 套模板的完整流程。 一分钟搞懂多站点管理PublicCMS 把站点做成了一等公民每个站点有独立的目录模板目录、静态资源目录、独立的栏目和内容但它们共用同一套数据库、同一套账号体系和一套代码。访客请求进来时系统拦截器根据请求的域名即浏览器地址栏里的 Host自动匹配到对应站点再加载该站点的模板渲染页面——所以多个网站跑在同一个应用里却互不干扰。 动手前的准备环境JDK 1.8 及以上V5 需 Java 17V6 需 Java 21MySQL 5.5 及以上获取源码唯一需要的命令git clone https://gitcode.com/gh_mirrors/pu/PublicCMS编译运行后访问http://localhost:8080/按页面提示初始化数据库管理后台在http://localhost:8080/admin/内置管理员账号admin/admin如果你用 docker compose 部署仓库根目录自带docker-compose.yml直接docker compose up -d即可 跟着我做1. 创建第一个新站点登录管理后台在左侧导航找到站点菜单多站点管理的统一入口点击新增填写站点名称和目录如site_2系统用它生成物理目录全局唯一填写静态站点地址生成的 HTML 输出到哪和动态站点地址未静态化页面的访问路径保存。系统会自动创建data/publiccms/template/site_2/模板目录和data/publiccms/web/site_2/静态资源目录无需手动建目录2. 给站点配独立域名站点和域名的对应关系存在sys_domain表中对应实体 publiccms-parent/publiccms-core/src/main/java/com/publiccms/entities/sys/SysDomain.java支持通配域名适合每个区域一个二级域名的场景。配置步骤在站点管理中为站点绑定域名可开启通配匹配在 Nginx 中为该域名新增一个 server 块。仓库里有一份现成样例data/nginx-config/site_1.conf核心就三件事proxy_pass http://cms;把请求转发给 PublicCMS 应用upstream 定义在data/nginx-config/cms.confproxy_set_header Host $http_host;保留原始 Host 头这是站点匹配能生效的关键ssi on;开启服务器端包含SSI并配置/include/、/webfile/的静态目录映射3. 为站点套用模板新站点建好后外观完全由它的模板目录决定进入data/publiccms/template/site_2/你会看到index.html首页、content.html内容页等模板文件修改模板即可换肤模板指令与变量写法可参考doc/PublicCMS Directive and Method Manual.html图片、CSS、JS 等资源放到data/publiccms/web/site_2/assets/下站点页面按相对路径引用✨ 让它更好用按站点开关静态化站点实体SysSite.java上有启用静态化和启用 SSI两个开关。流量大的主站开静态化降低服务器压力内容更新频繁的分站可以只走动态 SSI 局部包含站群模式把主站标记为站群multiple字段后可以通过currentSiteId参数在同一次访问中切换子站点适合一个主站入口、多套分站内容的门户结构匹配逻辑在 SiteInterceptor.java 中多语言分站示例里的 site_2 就带了英文模板template/site_2/en/与index_en.html给站点配多语言后同一站点可按语言输出不同页面分权管理创建站点时可指定管理角色、部门和管理员账号让不同团队各管各站互不越权前端效果参考示例站点的首页横幅长这样静态资源组织方式可直接照着抄 踩坑与自查域名访问不生效一直落到默认站点站点匹配靠的是请求的 Host。先确认 Nginx 里有没有proxy_set_header Host $http_host;或proxy_pass时带了$host变量再检查后台域名配置里拼写、通配符是否与 DNS 实际解析一致。静态页面 404 或资源路径错乱对比三处路径是否一致站点静态站点地址配置、Nginx 中/webfile/、/include/的 alias 目录、data/publiccms/web/site_x/实际目录。三者任何一处对不上文章页能打开但图片、包含块就会丢。站群切换子站点无效确认两点主站已开启站群开关currentSiteId传的是直属子站点的 id拦截器只允许切换到当前站的直接子站。收尾走通以上三步你就拥有了一个可水平扩展的站点矩阵新增网站不再需要部署一套系统只是后台里多一条记录加两个目录。更多细节部署参数、集群配置、模板指令全集请查阅仓库doc/中文手册/下的部署手册与模板制作手册以及 doc/ 目录里的数据字典文档。【免费下载链接】PublicCMSMore than 2.7 million lines of code modification continuously iterated for 9 years to modernize java cms, easily supporting tens of millions of data, tens of millions of PV; Support static, server side includes; Currently has 0.0005% of the worlds users (w3techs provided data), language support in Chinese, Japanese, English项目地址: https://gitcode.com/gh_mirrors/pu/PublicCMS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

设计多任务 AI 图片编辑器:能力矩阵、状态机与失败恢复

设计多任务 AI 图片编辑器:能力矩阵、状态机与失败恢复

多任务 AI 图片编辑器表面上只有一条链路:上传图片、输入提示词、生成并下载。真正落地时,复杂度来自选项之间的约束关系:不同模型支持的编辑模式、图片数量、分辨率、宽高比、登录要求和积分成本并不相同。 如果前端把所有控件永久展示&…

2026/8/24 10:39:46 阅读更多 →
蓝桥杯真题高效利用指南:从刷题到破题,掌握算法竞赛核心能力

蓝桥杯真题高效利用指南:从刷题到破题,掌握算法竞赛核心能力

1. 从“刷题”到“破题”:蓝桥杯真题汇编的正确打开方式如果你正在准备蓝桥杯,或者任何类似的算法竞赛,手头大概率已经躺着一份甚至多份“蓝桥杯真题汇编”。这些汇编资料,无论是PDF合集、在线OJ的题单,还是论坛里流传…

2026/8/24 10:39:46 阅读更多 →
C++可变参数模板:从语法到实战的范式革命

C++可变参数模板:从语法到实战的范式革命

1. 从“固定”到“无限”:可变参数模板的范式革命在C98/03的时代,如果你要写一个函数来处理任意数量、任意类型的参数,那几乎是一场噩梦。你只能通过函数重载,为1个、2个、3个……参数分别写一个版本,这不仅代码冗余&a…

2026/8/24 10:39:46 阅读更多 →

最新新闻

TradingVue.js 实战指南:把任意数据画到 K 线交易图表上

TradingVue.js 实战指南:把任意数据画到 K 线交易图表上

TradingVue.js 实战指南:把任意数据画到 K 线交易图表上 【免费下载链接】trading-vue-js 💹 Hackable charting lib for traders. You can draw literally ANYTHING on top of candlestick charts. [Not Maintained] 项目地址: https://gitcode.com/g…

2026/8/24 12:17:11 阅读更多 →
AI Agent自主进化:从零构建C编译器的技术路径与实践

AI Agent自主进化:从零构建C编译器的技术路径与实践

最近,AI 编程领域的一个新项目在开发者社区引发了不小的讨论:一个名为my_ai_town的开源项目,其核心目标是让 AI 从零开始,自主编写一个完整的、超过 25 万行代码的 C 语言编译器。这听起来像科幻小说里的情节——软件项目不再需要…

2026/8/24 12:17:11 阅读更多 →
车载音响系统技术解析:从DSP算法到Python音频处理实战

车载音响系统技术解析:从DSP算法到Python音频处理实战

最近在体验岚图追光S的音响系统时,我特意找来了龚玥版本的《枉凝眉》作为试音曲目。这首歌本身情感细腻,层次丰富,对音响的解析力、人声表现和低频氛围感都是极佳的考验。作为技术人,我们当然不能只停留在“好听”或“不好听”的主…

2026/8/24 12:17:11 阅读更多 →
《三角洲行动》卡顿闪退优化指南:从系统设置到游戏内调校

《三角洲行动》卡顿闪退优化指南:从系统设置到游戏内调校

最近在游戏社区看到不少玩家反馈《三角洲行动》在8.18版本更新后,出现了不同程度的卡顿、闪退和掉帧问题,尤其是在一些配置本应足够流畅的机器上。作为一款对操作和画面流畅度要求极高的战术射击游戏,帧数不稳定会直接影响游戏体验和竞技表现…

2026/8/24 12:17:11 阅读更多 →
基于LangChain与Milvus构建RAG系统:DQL实战与本地知识库问答

基于LangChain与Milvus构建RAG系统:DQL实战与本地知识库问答

这次我们来看一个 LangChain 与 Milvus 结合,并使用 DQL 进行实战的项目。对于想要构建本地知识库、实现智能问答或文档检索的开发者来说,LangChain 提供了强大的应用编排能力,而 Milvus 作为高性能向量数据库,是存储和检索向量化…

2026/8/24 12:17:11 阅读更多 →
如何用scrcpy把安卓手机投屏到电脑:5分钟上手的完整教程

如何用scrcpy把安卓手机投屏到电脑:5分钟上手的完整教程

如何用scrcpy把安卓手机投屏到电脑:5分钟上手的完整教程 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy scrcpy 是一款免费的开源 Android 投屏工具:它通过 USB 或 …

2026/8/24 12:16:10 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →