DJM CMS 是什么:一套面向长期运营的内容管理系统
从技术架构、内容模型、主题与插件机制出发,了解 DJM CMS 适合解决什么问题。
DJM CMS 是一套用 Go 编写、以 MySQL 为存储的内容管理系统。它把“内容结构、前台渲染、扩展能力、后台运营”放在同一套可独立部署的服务里,适合需要长期维护的官网、教程站和内容型产品。
一套可独立部署的内容系统
发布包内已经包含编译好的 Go 程序、模板和迁移脚本,服务器只需要准备 MySQL 与反向代理。默认监听 127.0.0.1:23180,不直接暴露到公网,由 Nginx 负责域名、HTTPS 和静态缓存。
核心能力
- 内容模型:内置文章、单页、产品、图集、下载五种模型,也可以创建自定义模型与字段。
- 栏目体系:无限级栏目、独立 SEO、访问范围、外部链接与单页正文。
- 模板引擎:42 个内置标签,通过
arclist、list、field等标签直接渲染数据。 - 主题与插件:主题是纯文件目录,插件运行在受限沙箱中,升级不覆盖业务内容。
- 运营能力:定时发布、专题、会员、评论、广告位、友情链接、备份与在线更新。
技术架构
| 层次 | 实现 |
|---|---|
| HTTP 服务 | Go 标准库 + Echo 风格路由,前后台统一进程 |
| 数据存储 | MySQL 8.0+,迁移按版本号顺序执行 |
| 模板 | 自定义 AST 解析器,编译期校验标签、属性与包含关系 |
| 插件 | Starlark 沙箱,清单声明权限、后台入口与模板标签 |
| 部署 | 单二进制 + releases/current 版本目录,支持原子切换 |
适合谁
如果你希望内容结构可控、部署链路简单、模板可以直接改,而不是被封闭的 SaaS 或复杂的技术栈绑定,DJM CMS 会是一个合适的选择。下一步可以从本地运行开始,或者直接阅读宝塔部署指南。
讨论
发表评论