生产环境部署

注解

遇到问题可以参见 服务器端部署 说明

警告

生产环境不建议您在 docker 中运行 PostgreSQL 数据库。

生产环境部署

快速部署教程

  1. 复刻部署代码 git clone https://github.com/QiYuTechOrg/QiYuTkDeploy

  2. 构建本地 Docker 镜像 cd QiYuTkDeploy && docker-compose build

  3. 手工编辑 envs/custom.env 配置文件

  4. docker-compose up -d 启动服务

详细流程如下:

获取部署代码仓库

  1. 复刻部署代码仓库

    git clone https://github.com/QiYuTechOrg/QiYuTkDeploy
    
  2. 构建本地镜像的命令

    docker-compose build
    

小技巧

如果您在中国可以参见 Docker 镜像 使用阿里云的镜像以加速下载。

环境变量配置

环境变量参考

  • envs/shared.env 可以不用修改

  • envs/custom.env 里面的项目必须配置

启动服务

docker-compose up

启动之后可以使用 docker-compose ps 检查运行状态。

显示以下信息则表示运行正常:

$ docker-compose ps
  Name                 Command                 State                   Ports
-----------------------------------------------------------------------------------------
tbk_admin   /app/entrypoints/admin.sh       Up (healthy)   0.0.0.0:8001->8001/tcp,
                                                           8002/tcp
tbk_cron    /app/entrypoints/cron.sh        Up             8001/tcp, 8002/tcp
tbk_db      docker-entrypoint.sh postgres   Up             5432/tcp

还可以使用 curl http://127.0.0.1:8001/ 访问服务器, 查看是否返回信息。

注解

如果您想通过公网 IP 访问(例如: http://1.1.1.1:8001), 请确保您的 8001 端口已经开放。

大多数云服务器厂商的防火墙默认关闭这两个端口(您也可以通过修改 docker-compose.yaml 配置来使用别的端口)。

注解

如果您想通过域名访问,您必须配置反向代理, 代码仓库中有 Caddy 和 Nginx 的配置例子。

重要

生产环境中推荐使用 Caddy 服务器,因为它可以自动获取 HTTPS 证书, 而且配置复杂度比 Nginx 低。

启动之后

  1. 使用 docker ps 找到 tbk_admin 服务,

  2. 执行: docker exec -it ${DOCKER_NAME} bash

  3. 使用 python manage.py createsuperuser 创建管理员账号

  4. 浏览器打开后台管理页面, 登录管理后台。

注解

Web 界面示例: https://www.taidimall.com/

管理后台示例: https://www.taidimall.com/admin

部署之后可以通过访问 OpenAPI 文档页面来进行接口的测试, 例如: 您的域名文 www.taidimall.com 则可以访问 https://www.taidimall.com/api/docs 然后在网页上调试接口。