Skip to content

Latest commit

 

History

History
248 lines (175 loc) · 4.83 KB

File metadata and controls

248 lines (175 loc) · 4.83 KB

BlogHub 启动指南

本文档详细说明如何在本地环境启动 BlogHub 博客系统。

一、环境准备

1.1 安装 Python

确保系统已安装 Python 3.9 或更高版本:

python --version

如未安装,请从 Python 官网 下载安装。

1.2 安装 MySQL

确保系统已安装 MySQL 8.0 或更高版本。

Windows:

macOS:

brew install mysql
brew services start mysql

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql

二、项目配置

2.1 创建虚拟环境

# 进入项目目录
cd PythonProject1

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境
# Windows (PowerShell)
.\.venv\Scripts\Activate.ps1

# Windows (CMD)
.venv\Scripts\activate.bat

# Linux/macOS
source .venv/bin/activate

2.2 安装依赖

pip install -r requirements.txt

2.3 创建数据库

方式一:使用 SQL 脚本

mysql -u root -p < init_db.sql

方式二:手动创建

登录 MySQL:

mysql -u root -p

执行以下 SQL:

CREATE DATABASE IF NOT EXISTS bloghub CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2.4 配置环境变量

  1. 复制环境变量模板:
cp .env.example .env
  1. 编辑 .env 文件,修改数据库配置:
APP_NAME=BlogHub
SECRET_KEY=your-super-secret-key-change-in-production
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=10080

MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your_mysql_password
MYSQL_DATABASE=bloghub

⚠️ 请将 MYSQL_PASSWORD 改为您的 MySQL 密码 ⚠️ 生产环境请务必更换 SECRET_KEY

三、启动应用

3.1 启动方式

方式一:直接运行

python main.py

方式二:使用 uvicorn(推荐开发环境)

uvicorn main:app --host 0.0.0.0 --port 8000 --reload

参数说明:

  • --host 0.0.0.0: 允许外部访问
  • --port 8000: 端口号
  • --reload: 自动重载(代码修改后自动重启)

3.2 验证启动

成功启动后,您将看到类似输出:

INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     Started reloader process
INFO:     Started server process
INFO:     Waiting for application startup.
INFO:     Application startup complete.

四、访问应用

4.1 主要页面

页面 URL
首页 http://localhost:8000
登录 http://localhost:8000/login
注册 http://localhost:8000/register
写文章 http://localhost:8000/blog/new
我的文章 http://localhost:8000/my-blogs
个人设置 http://localhost:8000/profile

4.2 API 文档

文档 URL
Swagger UI http://localhost:8000/docs
ReDoc http://localhost:8000/redoc

五、使用指南

5.1 注册账户

  1. 访问 http://localhost:8000/register
  2. 填写用户名、邮箱、密码
  3. 点击"注册"按钮
  4. 注册成功后自动登录

5.2 发布文章

  1. 登录后点击顶部导航"写文章"
  2. 输入文章标题
  3. 填写文章摘要(可选)
  4. 添加封面图片链接(可选)
  5. 编写文章内容
  6. 选择是否公开发布
  7. 点击"发布文章"

5.3 管理文章

  1. 点击顶部导航"我的文章"
  2. 查看所有已发布和草稿文章
  3. 可对文章进行查看、编辑、删除操作

5.4 互动功能

  • 点赞: 在文章详情页点击❤️按钮
  • 评论: 在文章下方输入评论内容并提交
  • 回复: 点击评论下方的"回复"按钮

六、常见问题

Q1: 数据库连接失败

错误信息: Can't connect to MySQL server

解决方案:

  1. 确认 MySQL 服务已启动
  2. 检查 .env 中的数据库配置是否正确
  3. 确认数据库用户权限

Q2: 模块未找到

错误信息: ModuleNotFoundError

解决方案:

  1. 确认虚拟环境已激活
  2. 重新安装依赖:pip install -r requirements.txt

Q3: 端口被占用

错误信息: Address already in use

解决方案:

  1. 更换端口:uvicorn main:app --port 8001
  2. 或关闭占用端口的程序

Q4: 静态文件加载失败

解决方案:

  1. 确认 app/static 目录存在
  2. 检查文件路径是否正确

七、生产部署建议

7.1 安全配置

  1. 更换 SECRET_KEY 为随机字符串
  2. 关闭 DEBUG 模式
  3. 使用 HTTPS
  4. 限制 CORS 来源

7.2 性能优化

  1. 使用 Gunicorn 作为 WSGI 服务器
  2. 配置 Nginx 反向代理
  3. 启用数据库连接池
  4. 添加 Redis 缓存

7.3 示例部署命令

gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000

如有其他问题,请查阅项目 README.md 或提交 Issue。