系统架构与目录结构
双服务架构(管理面板 6188 / 前台 6166)、PostgreSQL、运行目录与配置文件位置。
总体架构
发财CMS 只有一个后端可执行文件 facy,启动后同时监听两个端口,分别对应两个独立的 HTTP 服务:
| 服务 | 默认端口 | 作用 | 对谁开放 |
|---|---|---|---|
| Panel(管理面板) | 6188 |
提供后台页面与后台接口:管理员鉴权、权限校验、配置保存、上传、统计等 | 仅管理员网络,不建议公网开放 |
| Frontend(前台) | 6166(安装时可改成 80;可再启用 HTTPS 443) |
提供前台页面与前台接口:内容查询、播放权限、用户认证、订单、活动兑换 | 访客 |
| PostgreSQL | 5432 |
保存视频、用户、订单、权限、统计等全部业务数据 | 仅本机或内网 |
接口形态(了解即可)
后台所有接口都是 POST /api/{模块}/{功能}/{动作}.api,请求/响应整体经过 AES 加密;前台接口大多是普通的 GET/POST,仅 /api/init 加密。因此用 curl 直接调用后台接口是行不通的——请用后台页面操作。对外集成请使用 OpenAPI。
运行目录
通过安装包安装后,程序位于 /usr/local/facy(deb/rpm 包的固定安装目录),结构如下:
/usr/local/facy
├── facy # 主程序(管理面板 + 前台)
├── facyManager # 命令行管理工具(重置密码、改配置、升级…)
├── web/
│ ├── admin/ # 管理后台页面文件
│ └── indexVue/ # 前台页面文件
├── data/ # 运行期配置(升级时不会被覆盖)
│ ├── core/ # admin.conf(超级管理员) database.conf(数据库连接)
│ └── system/ # config.yaml(端口、HTTPS、日志、JWT…)
├── static/ # 运行期静态资源:上传的图片、封面、广告素材等
└── logs/ # 日志目录安装时还会创建软链接 /usr/local/bin/facy 与 /usr/local/bin/facyManager,所以可以在任意目录直接执行 facy -v、facyManager ...。
升级和重装的覆盖策略(来自 install/AGENTS.md 与打包脚本):
- 会被替换:
facy、facyManager、web/ - 不会被覆盖/删除:
data/、static/、logs/
主配置文件 config.yaml
路径:/usr/local/facy/data/system/config.yaml。字段含义:
server:
port: 6188 # 管理面板端口
run_mode: release # debug / release,默认 release;debug 会跳过后台登录验证码,仅限本地调试
ssl:
enabled: false # 是否启用前台 HTTPS(443)
port: 443
jwt:
expire: 1440 # 后台 JWT 过期时间(分钟,必须 > 0)
frontend:
port: 6166 # 前台端口;安装时回答 80 端口?=y 会改成 80
access_token_expire: 30 # 前台会话令牌自动续签触发阈值(分钟)
refresh_token_expire: 43200 # 前台会话令牌总有效期(分钟)
jwt_secret: ... # 前台 JWT 持久化密钥
log:
level: info
format: console
dir: ./logs
filename: app.log
console: true
static:
dir: ./static不要在生产环境使用 debug 模式
run_mode: debug 会让后台登录跳过验证码校验,只适合在本机调试。生产环境请保持默认的 release。
修改配置后需要执行 systemctl restart facy.service 才会生效。端口和 HTTPS 也可以用 facyManager config ... 安全地修改,见常用命令。
数据库连接
数据库连接信息保存在 data/core/database.conf(JSON,字段 host / port / database / username / password),可以用 facyManager db show|set|ping 查看、修改和测试。发财CMS 启动与初始化时会自动创建表结构、索引,并启用 pg_trgm 扩展(用于标题检索加速)。
继续阅读:环境准备。