news 2026/4/22 20:06:42

Fastapi全面教程:常用 API 串联与实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Fastapi全面教程:常用 API 串联与实战指南

大家好,我是jobleap.cn的小九。在生产环境下,我们不再简单地使用uvicorn main:app,而是需要考虑进程守护、多核并发、故障自启以及特权端口管理

🛠 方案一:PM2 方案(最简单、全能)

PM2本是 Node.js 领域的顶流,但因其极简的命令行界面和强大的进程监控能力,现已成为 Python 开发者在 Linux 上部署 Web 服务的热门选择。

1. 安装与准备

# 安装 Node 环境及 PM2sudoaptupdate&&sudoaptinstallnodejsnpm-ysudonpminstall-g pm2

2. 启动 FastAPI

PM2 可以直接托管 uvicorn 进程。为了监听80 端口,命令前必须加sudo

sudopm2 start"uvicorn main:app --host 0.0.0.0 --port 80"--name"fastapi-demo"

3. 常用运维命令

功能命令
查看所有服务状态sudo pm2 list
查看实时日志sudo pm2 logs fastapi-demo
重启服务sudo pm2 restart fastapi-demo
开机自启sudo pm2 save && sudo pm2 startup

🚀 方案二:Gunicorn + Uvicorn 方案(工业标准)

这是 Python 社区最正统的生产部署方式。Gunicorn负责管理进程(Master),Uvicorn负责处理异步请求(Worker)。这种组合兼顾了稳定性和异步高性能。

1. 安装依赖

pipinstallgunicorn uvicorn

2. 启动命令

使用-k uvicorn.workers.UvicornWorker参数来启动异步工作流:

sudogunicorn main:app\--workers4\--worker-class uvicorn.workers.UvicornWorker\--bind0.0.0.0:80\--daemon
  • --workers 4: 启动 4 个进程(建议设置为2 * CPU核心数 + 1)。
  • --daemon: 在后台运行。

3. 如何停止 Gunicorn

由于 Gunicorn 是后台运行的,需要通过查找进程 ID 来关闭:

# 查找进程并杀死psaux|grepgunicornpkillgunicorn

⚖️ PM2 vs Gunicorn 选型对比

特性PM2Gunicorn
易用性极高,像刷短视频一样简单一般,需要配合 Systemd 使用
日志管理自带精美日志面板,支持自动切割需手动配置日志文件路径
监控提供 CPU、内存实时可视化需配合三方工具(如 Prometheus)
适用人群追求开发效率、全栈开发者纯 Python 环境、追求极致底层的团队

🛡 生产环境的安全堡垒:Nginx 反向代理

在真正的生产环境中,我们通常不让Python 直接监听 80 端口,而是让 Nginx 监听 80,再转发给后端的 Python(如监听 8000 端口)。

这样做的好处:

  1. SSL 证书:Nginx 处理 HTTPS 极其方便。
  2. 静态资源:Nginx 处理图片、CSS 的速度远超 FastAPI。
  3. 安全性:隐藏真实的后端服务器信息。

🆘 常见报错排查

  1. 端口被占用
    运行sudo lsof -i :80。如果有输出,说明 80 端口被占用(通常是默认的 Nginx)。执行sudo systemctl stop nginx即可释放。
  2. 权限拒绝 (Permission Denied)
    在 Linux 中,非 root 用户无法绑定 1024 以下端口。必须使用sudo启动。
  3. 代码更新不生效
    Git pull 完代码后,必须执行pm2 restartpkill gunicorn重新加载进程。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 19:41:04

2026年职场新宠:AI产品经理!未来五年黄金职业,岗位需求激增!

一、AI产品经理-职业新机会点 近年来,AI 产品的外形与体验正在极速演化,而在 2025 年的全球科技趋势中,一个愈加明显的现象是:人工智能(AI)正以前所未有的深度和广度融入各行各业。如果你仔细观察这两年的…

作者头像 李华
网站建设 2026/4/22 12:14:20

录入每日三餐饮食,识别热量和营养成分,对比每日推荐摄入量,给出多吃蔬菜/少盐的精准建议。

设计一个 “每日三餐饮食营养分析与建议系统”,利用人工智能方法与技术课程中的知识,实现饮食录入、热量与营养成分识别、与每日推荐摄入量对比,并给出精准的健康建议(如“多吃蔬菜”“少盐”)。1. 实际应用场景描述现…

作者头像 李华
网站建设 2026/4/17 1:02:39

基于 YOLOv8 的茶叶病害智能识别系统[目标检测完整源码]

基于 YOLOv8 的茶叶病害智能识别系统[目标检测完整源码] 摘要 随着智慧农业与数字化种植的不断推进,传统依赖人工经验的茶叶病害巡检方式已难以满足规模化、精细化管理需求。本文围绕 茶叶病虫害自动识别 这一典型农业视觉场景,介绍了一套基于 YOLOv8 …

作者头像 李华
网站建设 2026/4/17 20:25:18

紫金桥跨平台监控组态软件:工业生产的可视化控制平台

紫金桥跨平台监控组态软件是一款专业的工业自动化软件平台,主要用于实现对工业生产过程的实时监控、数据采集和可视化控制。为企业提供从数据采集到应用开发的全套解决方案。一、软件核心功能1. 实时数据采集与处理 软件支持多种工业通讯协议,可连接PLC、…

作者头像 李华
网站建设 2026/4/17 1:59:51

Windows实用小工具,吾爱出品

今天给大家推荐两款使用率非常高的小软件,这两个小软件大大提高了处理文件的效率,有需要的小伙伴可以下载收藏。 Mp4ToGif 视频转GIF Mp4ToGif软件能把视频中的任意一部分片段,转换成想要的GIF格式。 软件操作方法也简单,选择好视…

作者头像 李华