在生产环境下,单纯使用 Uvicorn 监听外部请求存在性能和安全风险,因此我们采用如下部署架构:
Internet │ ▼ Nginx (反向代理 + SSL/TLS) │ proxy_pass ▼ Uvicorn Workers (基于 uvloop + Gunicorn 管理) │ FastAPI Application │ PostgreSQL / Redis / 后端微服务
适用场景包括高并发 API 服务、微服务架构中的 HTTP 接口部署,以及需要 TLS/HTTPS 安全访问的生产环境。
一、硬件与系统建议
| 项目 | 推荐配置 | 说明 |
|---|---|---|
| CPU | 4 核及以上 | 并发请求更稳定 |
| 内存 | 8GB 以上 | Python GC + 缓存空间 |
| 磁盘 | NVMe 150GB 以上 | 快速日志写入 |
| 网络 | 公网带宽 100Mbps | API 对外访问 |
| 系统 | Ubuntu 22.04 LTS | 最新稳定版 |
外网访问建议部署具有 DDoS 防护的 BGP 线路服务器,例如 CN2 / 电信直连方案,以降低网络抖动和丢包率。
二、系统初始化与依赖安装
2.1 系统更新
sudo apt update && sudo apt upgrade -y
sudo reboot
2.2 安装 Python 环境与必备工具
# 安装 Python3.10
sudo apt install -y python3.10 python3.10-venv python3.10-dev python3-pip build-essential
# 常用工具
sudo apt install -y nginx ufw git
2.3 建立虚拟环境
进入应用目录 /opt/fastapi_app:
sudo mkdir -p /opt/fastapi_app
sudo chown $USER:$USER /opt/fastapi_app
cd /opt/fastapi_app
python3.10 -m venv venv
source venv/bin/activate
三、应用代码结构与示例
3.1 最简 FastAPI 项目结构
fastapi_app/
├── app/
│ ├── main
│ ├── api/
│ │ └── v1
├── requirements
└── logging

