From 0b554f36691f85d990fe7041d24bdcce8cf7bb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Tue, 2 Jan 2024 22:10:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=BB=98=E8=AE=A4=E9=9B=86=E6=88=90cel?= =?UTF-8?q?ery=E4=B8=8Eredis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/conf/env.example.py | 16 ++--- backend/requirements.txt | 1 + docker-compose.yml | 130 +++++++++++++++++------------------- 3 files changed, 72 insertions(+), 75 deletions(-) diff --git a/backend/conf/env.example.py b/backend/conf/env.example.py index 03e8c1b..f20a698 100644 --- a/backend/conf/env.example.py +++ b/backend/conf/env.example.py @@ -7,12 +7,12 @@ from application.settings import BASE_DIR # ================================================= # # 数据库 ENGINE ,默认演示使用 sqlite3 数据库,正式环境建议使用 mysql 数据库 # sqlite3 设置 -DATABASE_ENGINE = "django.db.backends.sqlite3" -DATABASE_NAME = os.path.join(BASE_DIR, "db.sqlite3") +# DATABASE_ENGINE = "django.db.backends.sqlite3" +# DATABASE_NAME = os.path.join(BASE_DIR, "db.sqlite3") # 使用mysql时,改为此配置 -# DATABASE_ENGINE = "django.db.backends.mysql" -# DATABASE_NAME = 'django-vue-admin' # mysql 时使用 +DATABASE_ENGINE = "django.db.backends.mysql" +DATABASE_NAME = 'django-vue3-admin' # mysql 时使用 # 数据库地址 改为自己数据库地址 DATABASE_HOST = "127.0.0.1" @@ -21,16 +21,16 @@ DATABASE_PORT = 3306 # # 数据库用户名 DATABASE_USER = "root" # # 数据库密码 -DATABASE_PASSWORD = "123456" +DATABASE_PASSWORD = "DVADMIN3" # 表前缀 TABLE_PREFIX = "dvadmin_" # ================================================= # # ******** redis配置,无redis 可不进行配置 ******** # # ================================================= # -# REDIS_PASSWORD = '' -# REDIS_HOST = '127.0.0.1' -# REDIS_URL = f'redis://:{REDIS_PASSWORD or ""}@{REDIS_HOST}:6380' +REDIS_PASSWORD = 'DVADMIN3' +REDIS_HOST = '127.0.0.1' +REDIS_URL = f'redis://:{REDIS_PASSWORD or ""}@{REDIS_HOST}:6379' # ================================================= # # ****************** 功能 启停 ******************* # # ================================================= # diff --git a/backend/requirements.txt b/backend/requirements.txt index 95b96f8..4824df6 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -28,3 +28,4 @@ uvicorn==0.23.2 gunicorn==21.2.0 gevent==23.9.1 Pillow==10.1.0 +dvadmin-celery==1.0.5 diff --git a/docker-compose.yml b/docker-compose.yml index 13d8033..c08a0ef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,7 @@ services: - ./docker_env/nginx/my.conf:/etc/nginx/conf.d/my.conf expose: - "8080" + restart: always networks: network: ipv4_address: 177.10.0.11 @@ -23,9 +24,8 @@ services: dockerfile: ./docker_env/django/Dockerfile container_name: dvadmin3-django working_dir: /backend -# 打开mysql 时,打开此选项 -# depends_on: -# - dvadmin3-mysql + depends_on: + - dvadmin3-mysql environment: PYTHONUNBUFFERED: 1 DATABASE_HOST: dvadmin3-mysql @@ -42,74 +42,70 @@ services: network: ipv4_address: 177.10.0.12 -# dvadmin3-mysql: -# image: mysql:5.7 -# container_name: dvadmin3-mysql -# #使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限 -# #设置为true,不然数据卷可能挂载不了,启动不起 -## privileged: true -# restart: always -# ports: -# - "3306:3306" -# environment: -# MYSQL_ROOT_PASSWORD: "123456" -# MYSQL_DATABASE: "dvadmin3_pro" -# TZ: Asia/Shanghai -# command: -# --wait_timeout=31536000 -# --interactive_timeout=31536000 -# --max_connections=1000 -# --default-authentication-plugin=mysql_native_password -# volumes: -# - "./docker_env/mysql/data:/var/lib/mysql" -# - "./docker_env/mysql/conf.d:/etc/mysql/conf.d" -# - "./docker_env/mysql/logs:/logs" -# networks: -# network: -# ipv4_address: 177.10.0.13 + dvadmin3-mysql: + image: mysql:8.0 + container_name: dvadmin3-mysql + privileged: true + restart: always + ports: + - "3306:3306" + environment: + MYSQL_ROOT_PASSWORD: "DVADMIN3" + MYSQL_DATABASE: "django-vue3-admin" + TZ: Asia/Shanghai + command: + --wait_timeout=31536000 + --interactive_timeout=31536000 + --max_connections=1000 + --default-authentication-plugin=mysql_native_password + volumes: + - "./docker_env/mysql/data:/var/lib/mysql" + - "./docker_env/mysql/conf.d:/etc/mysql/conf.d" + - "./docker_env/mysql/logs:/logs" + networks: + network: + ipv4_address: 177.10.0.13 -# 如果使用celery 插件,请自行打开此注释 -# dvadmin3-celery: -# build: -# context: . -# dockerfile: ./docker_env/celery/Dockerfile -# # image: django:2.2 -# container_name: dvadmin3-celery -# working_dir: /backend -# depends_on: -# - dvadmin3-mysql -# environment: -# PYTHONUNBUFFERED: 1 -# DATABASE_HOST: dvadmin3-mysql -# TZ: Asia/Shanghai -# volumes: -# - ./backend:/backend -# - ./logs/log:/var/log -# restart: always -# networks: -# network: -# ipv4_address: 177.10.0.14 + dvadmin3-celery: + build: + context: . + dockerfile: ./docker_env/celery/Dockerfile + container_name: dvadmin3-celery + working_dir: /backend + depends_on: + - dvadmin3-mysql + environment: + PYTHONUNBUFFERED: 1 + DATABASE_HOST: dvadmin3-mysql + TZ: Asia/Shanghai + volumes: + - ./backend:/backend + - ./logs/log:/var/log + restart: always + networks: + network: + ipv4_address: 177.10.0.14 -# dvadmin3-redis: -# image: redis:6.2.6-alpine # 指定服务镜像,最好是与之前下载的redis配置文件保持一致 -# container_name: dvadmin3-redis # 容器名称 -# restart: on-failure # 重启方式 -# environment: -# - TZ=Asia/Shanghai # 设置时区 -# volumes: # 配置数据卷 -# - ./docker_env/redis/data:/data -# - ./docker_env/redis/redis.conf:/etc/redis/redis.conf -# ports: # 映射端口 -# - "6379:6379" -# sysctls: # 设置容器中的内核参数 -# - net.core.somaxconn=1024 -# command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && redis-server /etc/redis/redis.conf --appendonly yes" # 指定配置文件并开启持久化 -# privileged: true # 使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限 -# networks: -# network: -# ipv4_address: 177.10.0.15 + dvadmin3-redis: + image: redis:6.2.6-alpine # 指定服务镜像,最好是与之前下载的redis配置文件保持一致 + container_name: dvadmin3-redis # 容器名称 + restart: always + environment: + - TZ=Asia/Shanghai # 设置时区 + volumes: # 配置数据卷 + - ./docker_env/redis/data:/data + - ./docker_env/redis/redis.conf:/etc/redis/redis.conf + ports: # 映射端口 + - "6379:6379" + sysctls: # 设置容器中的内核参数 + - net.core.somaxconn=1024 + command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && redis-server /etc/redis/redis.conf --appendonly yes --requirepass DVADMIN3" # 指定配置文件并开启持久化 + privileged: true # 使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限 + networks: + network: + ipv4_address: 177.10.0.15 networks: