# django-demon2 **Repository Path**: salt_bean/django-demon2 ## Basic Information - **Project Name**: django-demon2 - **Description**: 标准的dango项目框架 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-10 - **Last Updated**: 2023-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 服务部署图 ![服务部署图](docs/images/servce-arch.png) 服务包含的容器: * server (API服务的容器) * server_task (处理异步任务的容器) * server_beat_task (处理定时任务的容器) celery使用redis传递任务队列,这里没有部署redis服务,使用外部redis服务,通过变量`CELERY_BROKER_URL`来设置celery任务队列服务,如果没有设置,则不会部署server_task, server_beat_task服务 # Makefile命令行 ## 镜像相关 ### build-image 编译api服务镜像,基于python:3.8编译, 相关变量设置在`.makerc/docker`文件中. ```makefile export DOCKER_REGION?=registry-vpc.cn-hangzhou.aliyuncs.com # 镜像服务器定义 export DOCKER_NAMESPACE?=tealeaf # 镜像的命名空间 export SERVER_IMAGE_BASENAME?=django-rest-server # 镜像的名称 export VERSION?=latest # 镜像版本 export SERVER_IMAGE:=${DOCKER_REGION}/${DOCKER_NAMESPACE}/${SERVER_IMAGE_BASENAME}:${VERSION} ``` ### push-image 推送镜像到服务器。 ## 服务相关 ### start 启动服务,只提供了k8s的部署方式,且start命令中,只部署了deployment和创建了config map,istio相关的文件在bootup/kubernetes/deployment/server/istio目录中,**需要手动启动**。 ```makefile export DEBUG?=True # 开启debug模式 export WEBROOT?=/rest-api # 对外提供服务的路由前缀 export DEPLOY_NAMESPACE?=default # 部署的命名空间 export MOUNT_SOURCE_CODE?=False # 是否挂载源代码目录,用户开发环境下使用 export MEDIA_DATA_PATH?=${PWD}/data/media # media挂载的目录,挂载方式是host的时候,生效 export MIGRATION_DATA_PATH?=${PWD}/data/migrations # migrations挂载目录,挂载方式是host时候,生效 export CODE_PATH=${PWD}/src # 代码目录,这个变量不可更改 export DOMAIN_NAME?= # 域名,对外提供服务的域名地址 export GATEWAY_NAME?=istio-system/gateway # istio的gateway,用于对外提供服务访问 # 数据库相关配置 export DB_HOST?= export DB_PORT?=5432 export DB_NAME?= export DB_USER?= export DB_PASSWORD?= # CELERY的任务队列传输配置,只有配置了才会启动task容器 export CELERY_BROKER_URL?= ```