Skip to content

GoldBadge/runand.run

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目介绍

银幕动态网,是一个电影信息展示网站。前端使用 Vue 3 通过调用 api 接口展示数据,api 后端使用 Django REST framework 实现,通过 Scrapy 自动采集数据,数据库使用 MySQL,缓存使用 Redis,项目部署使用 Docker。本项目架设在阿里云 ESC,项目网址http://www.runand.run

项目架构图

项目架构图

Docker 服务说明

  • node:用于构建前端项目,构建完成后退出

前端 UI 使用 Element Plus,前端路由使用 Vue Router,状态管理使用 Pinia,网络请求使用 Axios。

  • nginx:负责前端展示和反向代理

负责 www 域名的前端展示,负责 api 域名反向代理到 api 服务,负责 admin 域名反向代理到 admin 服务。

  • api:后端接口

scrapyd 服务采集的数据转发到 api 服务存入数据库

  • admin:管理数据和管理定时任务

  • beat:定时采集任务

  • worker:采集任务

对采集任务转发到 scrapyd 服务,并监控采集任务的状态。

  • scrapyd:数据采集

实际的数据采集功能,通过 log 记录采集日志。

  • mysql:数据存储

  • redis:数据缓存和充当 Celery 消息队列

代码说明

  • ./backend

    • ./app

          Django 项目代码,使用的第三方库见 ./backend/app/requirements.txt,其配置见 ./backend/app/settings.py
      
    • ./automation

          Scrapy 项目代码,其配置见 ./backend/automation/scrapy.cfg 和 ./backend/automation/automation/settings.py
      
    • ./Dockerfile

          Python 项目构建镜像文件,使用的基础镜像为 python:3.10-slim-bookworm
      
  • ./frontend

    Vue 3 项目代码,使用的第三方库见 ./backend/frontend/package.json
    
  • ./mysql

    • ./conf/my.cnf

          配置文件
      
    • ./data

          数据目录,挂载到容器
      
    • ./.env

          环境变量配置文件
      
  • ./nginx

    • ./conf/default.conf

          配置文件
      
  • ./nobody

          用于 worker 和 beat 服务
    
  • ./redis

    • ./conf/redis.cnf

          配置文件
      
    • ./data

          数据目录,挂载到容器
      
  • ./scrapd

    • ./.env

          环境变量配置文件
      
  • ./compose.yaml

          Docker Compose 配置文件
    

注意事项

系统最低配置 2 核 CPU,4G 内存。

chmod -R 777 ./backend/automation

  • ./backend/app/.env

    DJANGO_SUPERUSER_PASSWORD 需修改
    
  • ./backend/app/api_start.sh

    python manage.py createsuperuser --username admin --noinput 命令中 admin 需修改
    
  • ./backend/app/app/settings.py

    SECRET_KEY 需修改
    DEBUG 改为 False
    ALLOWED_HOSTS 改为 ['api', 三级域名]
    DATABASES 需与 ./mysql/conf/my.cnf 和 ./mysql/.env 结合修改
    CACHES 需与 ./redis/conf/redis.cnf 结合修改
    DEFAULT_FROM_EMAIL,EMAIL_HOST,EMAIL_HOST_PASSWORD,EMAIL_HOST_USER,EMAIL_PORT,EMAIL_USE_TLS 需修改
    PARENT_HOST 改为 二级域名
    SCRAPYD_USER,SCRAPYD_PASSWORD,SCRAPYD_URL 需与 ./scrapyd/.env 结合修改
    
  • ./backend/automation/scrapy.cfg 配置 deploy 需修改

  • ./frontend/index.html 需修改 title

  • ./mysql/conf/my.cnf 需修改

  • ./mysql/.env 需修改

  • ./nginx/conf/default.conf 需修改

  • ./redis/conf/redis.cnf 需修改

  • ./scrapyd/.env 需修改

运行项目

cd ./ docker-compose up -d

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published