个人博客项目简介(Readme)
2026年6月23日 blogTech 4 分钟阅读 5 次阅读
📖 文章摘要
基于 Nuxt.js 3 + FastAPI + SQLite 的个人博客系统,支持文章发布、分类标签、评论审核、全文搜索、RSS 订阅、后台管理等功能。
My Blog
个人博客 — blog.vue2.xyz
文档更新:2026-06-25(碎念管理增强:搜索/筛选/排序/分页/私密 + 后台交互优化)
Features
| 类别 | 功能 |
|---|---|
| 📝 文章 | SSR 渲染、Markdown 编辑器(专注模式/分栏/字体/互换)、分类/标签、搜索、RSS |
| 💬 评论 | 审核制、author_token 游客可见、一键通过 |
| 🖼️ 图床 | 前台/后台管理、拖拽上传、复制 URL、文件锁定保护 |
| 💭 碎念 | type 分类(mood/poem)、对话式气泡布局、分页加载、56 种表情选择器、配图、相对时间 |
| 💭 碎念管理 | 搜索/类型筛选/公开私密筛选、时间排序、触底自动加载、实时统计、Tab禁止跳转 |
| 📦 网盘 | 密码分享、限次下载、过期时间 |
| ⚙️ 后台 | 站点设置、签名/favicon/技能标签拖拽排序、修改账号 |
| 📊 主页 | 站点统计卡、服务状态徽章、火焰渐变签名 |
| 🎴 卡片样式 | CSS 变量驱动、后台可视化管理(6 组 26 参数滑块+实时预览) |
| 🎨 动画 | glass-hover 毛玻璃、stagger 入场、表盘统计 |
| 🔒 安全 | CORS 域名白名单、JWT 统一认证、Cookie sameSite+Lax+Secure、bcrypt 密码哈希、XSS 消毒(DOMPurify)、路径穿越防护、网盘危险文件拦截 |
Tech Stack
- Frontend: Nuxt.js 3 (SSR) + Tailwind CSS + isomorphic-dompurify
- Backend: FastAPI (Python) + Gunicorn + passlib[bcrypt]
- Database: SQLite + SQLAlchemy
- Proxy: Nginx (SSL termination)
- Process: systemd (blog-api, blog-web)
Quick Start
# 后端
cd backend
source venv/Scripts/activate
pip install -r requirements.txt # 含 passlib[bcrypt]
uvicorn main:app --reload --port 8001
# 前端(另一个终端)
cd frontend
npm install
npm run dev
或双击 start.bat 一键启动。
访问 http://localhost:3000,后台 http://localhost:3000/admin
Project Structure
frontend/ Nuxt.js 前端(pages / components / composables)
backend/ FastAPI 后端(routers / models / auth)
data/ 运行时数据(blog.db + uploads + pan)
deploy/ 部署脚本 + systemd 服务 + Nginx 配置
docs/ 项目文档
Deploy
python deploy/deploy.py
# 1 → 完整部署(构建+推送+重启)
# 2 → 数据库同步(上传/下载)
Server
- IP:
43.108.33.153(韩国首尔) - SSH:
-p 2894(密钥登录) - Domain: blog.vue2.xyz
Nginx 反代到本机 FastAPI(:8001) / Nuxt SSR(:3000),HTTPS 通过 Let's Encrypt。
Docs
最后更新:2026年6月29日CC BY-NC-SA 4.0
评论
暂无评论,来写第一条吧
