项目简介
这是一个基于Flask框架开发的个人博客系统,具备文章发布、分类、搜索、用户评论与评分、相关文章推荐等丰富功能。系统支持使用Docker部署,还集成了Celery进行后台任务处理。
项目的主要特性和功能
- 文章管理:拥有便捷的文章发布方式,可通过目录、标签、发布日期对文章分类,支持按关键字查询文章。
- 用户互动:支持用户评论与评分,具备相关文章推荐功能。
- 部署与扩展:使用Docker部署简化环境配置,集成Celery处理异步任务。
- 依赖服务:数据库支持MySQL或PostgreSQL,使用Redis存储文章相似度和作为Celery队列。
安装使用步骤
1. 环境准备
确保已安装Docker和Python环境。
2. 配置环境变量
在项目根目录下创建并配置 .flaskenv
和 .env
文件,设置以下环境变量:
- .flaskenv
文件:FLASK_APP
、FLASK_ENV
、SECRET_KEY
。
- .env
文件:ADMIN_EMAIL
、ADMIN_PASSWORD
、MAIL_SENDER
、SENDGRID_API_KEY
、DATABASE_URL
、DEV_DATABASE_URL
、TEST_DATABASE_URL
、REDIS_URL
、CELERY_BROKER_URL
、CELERY_RESULT_BACKEND
。
3. 使用Docker运行依赖服务
运行 dockerfile_create.py
创建Dockerfile,并构建并运行PostgreSQL和Redis容器:
```bash
$ python dockerfile_create.py
$ cd dockers/postgresql
$ docker build . -t hidden_island_postgres
$ docker run -d -p 5432:5432 --name hidden_island_postgres hidden_island_postgres
$ cd dockers/redis $ docker build . -t hidden_island_redis $ docker run -d -p 6379:6379 --name hidden_island_redis hidden_island_redis ```
4. 运行项目
生成虚拟环境,下载依赖,并运行项目:
bash
$ python -m venv .venv
$ . .venv/bin/activate
$ pip install -r requirements/dev.txt
$ flask deploy
$ flask build index
$ flask build similarity
$ celery worker -A celery_worker.celery --loglevel=info
$ flask run
5. 部署
使用Docker Compose进行部署:
1. 修改 .flaskenv
文件中的 FLASK_ENV
为 docker
。
2. 配置 .env
文件中的数据库和Redis连接信息。
3. 运行以下命令:
bash
$ ./dockerfile_create.py
$ docker-compose build
$ docker-compose up -d
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】