部署说明
从环境准备到正式上线,按步骤完成郑好内容工场的独立部署。
一、环境要求
| 组件 | 要求 |
|---|---|
| Python | 3.8 及以上(3.10+ 推荐) |
| MySQL | 5.7 及以上 / 8.0 推荐 |
| 对象存储 | 可选。支持本机 local / AWS S3 / 阿里云 OSS / 火山引擎 TOS / 腾讯云 COS |
| 网络 | 可访问 AI 接口与对象存储域名 |
二、安装依赖
pip install -r requirements.txt
三、初始化数据库
产品根目录随包提供 database.sql(24 张业务表 + 默认管理员 + 默认场景/来源/标签初始化数据)。两种方式任选其一:
方式一:命令行导入(推荐)
mysql -h<主机> -P<端口> -u<用户名> -p < database.sql
方式二:MySQL 客户端手动执行
打开 MySQL 客户端,执行 database.sql 中的全部语句;脚本会自动创建数据库并完成建表与初始化。
✓
database.sql 中已包含 CREATE DATABASE IF NOT EXISTS zk_content,可先建库再建表。数据底表(可选,供外部系统调用)
如需为外部系统提供结构化内容底表,再执行随包脚本 database_sicrk.sql 创建 SICrk 数据库。
四、配置 config.ini
编辑产品根目录 config.ini,按实际环境填写:
[database]
host = 127.0.0.1 ; MySQL 主机
port = 3306 ; MySQL 端口
user = root ; MySQL 用户名
password = your_password ; MySQL 密码
name = zk_content ; 数据库名(与 database.sql 建库名一致)
charset = utf8mb4
[storage]
type = local ; local/s3/oss/tos/cos
local_dir = images
bucket =
endpoint =
access_key =
secret_key =
cdn_domain =
[ai]
base_url = https://api.example.com/v1 ; AI 接口(OpenAI 兼容)
api_key = your_api_key
text_model = your-text-model
vision_model = your-vision-model
image_model = your-image-model
image_daily_limit = 10
[system]
name = 郑好内容工场 ; 系统名称
logo = ; 系统 Logo(URL,留空用默认)
content_id_prefix = AUTO-ZK
配置支持环境变量覆盖(格式
ZK_节名_键名,如 ZK_DATABASE_HOST),便于容器化与运维注入;未配置项自动使用默认值。五、启动系统
python run.py 8000 # 端口可自定义,默认 8000
启动成功后访问 http://127.0.0.1:8000/。
六、登录系统
| 项目 | 值 |
|---|---|
| 用户名 | admin |
| 密码 | admin123 |
⚠ 首次登录后建议在「用户」页面修改默认密码。
七、生产部署(Linux 示例)
7.1 上传代码并准备环境
cd /opt/content-center
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
7.2 初始化数据库
mysql -h<主机> -u<用户> -p < database.sql
7.3 修改 config.ini
将 [database] 指向实际 MySQL 库,[storage] 配置对象存储,[ai] 配置 AI 接口,[system] 配置系统名称与 Logo。
7.4 启动服务
nohup python run.py 8000 >> server.log 2>&1 &
7.5 配置 Nginx 反向代理
server {
listen 80;
server_name your.domain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 600s;
}
client_max_body_size 50m;
}
7.6 配置 HTTPS(可选)
certbot --nginx -d your.domain.com
八、systemd 守护进程(可选)
创建 /etc/systemd/system/content-center.service:
[Unit]
Description=Content Center System
After=network.target
[Service]
WorkingDirectory=/opt/content-center
ExecStart=/opt/content-center/venv/bin/python run.py 8000
Restart=always
User=www
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now content-center
九、目录结构
内容采集系统/
├── config.ini # 唯一外部配置入口(数据库/存储/AI/系统)
├── database.sql # 建库脚本(24表 + 初始数据)
├── database_sicrk.sql # SICrk 内容底表建库脚本
├── requirements.txt # Python 依赖
├── run.py # 启动入口
├── screens/ # 教程截图
├── app/ # 后端应用(main/config/pipeline/collector/...)
│ └── static/ # 前端页面(landing/操作说明/部署说明/管理后台)
└── data/ # 本地数据目录
十、常见问题
- Q:启动报数据库连接失败? 检查
config.ini的[database],并确认已执行database.sql完成建库。 - Q:图片上传失败? 检查
[storage]:本地模式确认local_dir可写;对象存储模式确认 Bucket/Endpoint/AccessKey 正确。 - Q:AI 加工不生效? 检查
[ai]的base_url、api_key与模型名,模型需支持 OpenAI 兼容接口。 - Q:如何修改系统名称与 Logo? ① 修改
config.ini的[system];② 登录后「设置-系统配置」在线修改(数据库优先)。