Ubuntu 22.04 部署 FastAPI + Uvicorn + Nginx 生产级 Python Web 服务
本文从基础环境准备、部署架构设计、性能调优、安全配置到监控指标采集,全流程讲解如何在 Ubuntu 22.04 服务器 上构建一个可用于生产环境的 FastAPI + Uvicorn + Nginx Python Web 服务平台。重点聚焦实战细节、系统参数配置、性能评测与问题排查方法,适合有一定 Linux / 网络 / Python 经验的开发与运维人员阅读。
一、目标架构与适用场景
在生产环境下,单纯使用 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 线路服务器,以降低网络抖动和丢包率。
三、系统初始化与依赖安装
3.1 系统更新
sudo apt update && sudo apt upgrade -y
sudo reboot
3.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
3.3 建立虚拟环境
进入应用目录 /opt/fastapi_app:
sudo mkdir -p /opt/fastapi_app
sudo : /opt/fastapi_app
/opt/fastapi_app
python3.10 -m venv venv
venv/bin/activate

