Skip to content
pollybird edited this page Sep 11, 2026 · 2 revisions

部署方式

部署方式

开发模式

`python run.py
# 监听 0.0.0.0:5000,DEBUG 模式,代码/模板改动自动重载`

生产部署

`# 方式一
ZHYCMS_ENV=production ZHYCMS_SECRET_KEY=your-secret python run.py

# 方式二(推荐)
gunicorn -w 4 -b 0.0.0.0:5000 "run:app"
# 或
python -m gunicorn -w 4 -b 0.0.0.0:5000 wsgi:app`

⚠️ 生产环境务必设置 ZHYCMS_SECRET_KEY;建议前置 Nginx 反向代理并托管静态资源。

Docker 部署

官方镜像已发布到 Docker Hub(pollybird/zhycms),开箱即用。一键安装(推荐,自动生成密钥与密码、配置镜像加速):

`bash docker/install.sh`

或使用预构建镜像(无需本地构建):

`cp docker/.env.example .env
# 编辑 .env 修改 SECRET_KEY 和数据库密码

# MySQL 8.4(镜像 pollybird/zhycms:mysql)
docker compose -f docker-compose.mysql.yml up -d

# PostgreSQL 16(镜像 pollybird/zhycms:postgresql)
docker compose -f docker-compose.postgresql.yml up -d

# 访问 http://localhost:5000 完成初始化`

也可直接拉取镜像:docker pull pollybird/zhycms:mysql(或 :postgresql / :latest,三个 tag 指向同一镜像)。

容器启动时自动执行:数据库迁移 → 恢复演示图片 → 编译 i18n → 启动 gunicorn。instance/ 和上传目录通过 volume 持久化。卸载运行 bash docker/uninstall.sh。

环境变量

变量 默认值 说明
ZHYCMS_ENV development development / production
ZHYCMS_SECRET_KEY 内置默认值 生产必须修改
ZHYCMS_DB_URI sqlite:///... 数据库 URI,优先级最高

v2.1 起前缀统一为 ZHYCMS_;旧前缀 ZHOCMS_ 仍兼容但将在未来版本移除。

Clone this wiki locally