home
本站采用Django作为WEB 应用框架,Gunicorn作为 WSGI 服务器,Nginx作为反向代理服务器以及静态文件服务器
1. Django:Web 应用框架
角色:负责处理业务逻辑、数据模型、模板渲染等核心功能
作用:
    - 处理用户请求(如博客文章展示、评论提交、后台管理等)
- 与数据库交互(如 SQLite、PostgreSQL、MySQL)
- 渲染 HTML 页面并返回响应
特点:是一个 WSGI 应用,本身不直接处理 HTTP 请求,需要配合 WSGI 服务器(如 Gunicorn)运行
2. Gunicorn:WSGI 服务器
角色:作为 Django 和 Nginx 之间的桥梁,负责运行 Django 应用
作用:
    - 启动多个 Worker 进程 来并行处理 Django 的请求
- 将 Nginx 转发过来的 HTTP 请求转换为 Django 能理解的 WSGI 格式
- 将 Django 返回的响应转发给 Nginx
特点:是一个 纯 Python 的 WSGI 服务器,性能稳定,配置简单。不支持静态文件服务(如 CSS、JS、图片),因此需要 Nginx 配合
3. Nginx:反向代理服务器 + 静态文件服务器
角色:作为用户访问的“第一道门”,负责处理外部 HTTP 请求
作用:
    - 反向代理:将用户的动态请求(如 /blog/123/)转发给 Gunicorn,再将 Gunicorn 的响应返回给用户
- 静态文件服务:直接提供 CSS、JS、图片等静态文件,减轻 Gunicorn 的压力
- 安全与性能:屏蔽直接暴露 Gunicorn 的风险
- 支持 HTTPS、压缩、缓存、限流等高级功能
特点:高性能、低内存占用,适合处理高并发连接
用户访问博客的流程(简化版):
    - 用户在浏览器输入 https://jbzeng.com/
- Nginx 接收请求,判断是动态请求(文章页面),转发给 Gunicorn
- Gunicorn 将请求交给 Django 处理
- Django 查询数据库,渲染模板,生成 HTML 页面
- Gunicorn 将 HTML 返回给 Nginx
- Nginx 将页面返回给用户浏览器