【python面试】你x的启动?

我直接给你**"服务端真实启动用什么命令"的对照版**,不绕概念。

⸻

一、FastAPI 服务端启动命令

✅ 标准 / 正确 / 生产与开发都通用

uvicorn main:app --host 0.0.0.0 --port 8000

含义拆解(非常重要):

main:app

│ │

│ └── FastAPI 实例名

└────── Python 文件名(main.py)

🔁 开发时常用(自动热重载)

uvicorn main:app --reload

⸻

🧠 FastAPI 为什么不用 python main.py?

因为 FastAPI 本身 不负责启动 HTTP Server

它只负责:

• 路由

• 依赖注入

• 请求处理逻辑

👉 真正监听端口的是 ASGI Server(uvicorn / hypercorn)

⸻

二、Flask 服务端启动命令

Flask 有 两种启动方式,本质不同。

⸻

✅ 方式一:Flask 官方 CLI(推荐)

export FLASK_APP=app.py

export FLASK_ENV=development

flask run

或一行写法:

FLASK_APP=app.py flask run

监听端口默认是:

127.0.0.1:5000

⸻

✅ 方式二:python 直接启动(最常见)

app.py

if name == "main ":

app.run(host="0.0.0.0", port=5000, debug=True)

然后:

python app.py

⸻

⚠️ 注意(非常关键)

app.run() 用的是 Flask 内置开发服务器

• ❌ 不适合生产

• ❌ 性能差

• ❌ 单进程

⸻

三、FastAPI vs Flask 启动方式本质对比(重点)

项目 FastAPI Flask

协议模型 ASGI WSGI

启动者 uvicorn flask / python

HTTP Server 外部必须 内置(开发用)

并发模型 async / await 同步

生产常用 uvicorn / gunicorn gunicorn

⸻

四、生产环境标准启动方式(你以后一定会用)

🚀 FastAPI(生产)

gunicorn main:app

-k uvicorn.workers.UvicornWorker

-w 4

-b 0.0.0.0:8000

⸻

🚀 Flask(生产)

gunicorn app:app -w 4 -b 0.0.0.0:5000

⸻

五、一句话给你"底层真相版"总结

FastAPI 不"自己启动服务",它只"被服务运行";

Flask 能"自己启动服务",但那只是给开发者用的。

如果你愿意,我可以下一步直接给你画一张:

Nginx → Uvicorn → FastAPI → 业务代码

Nginx → Gunicorn → Flask → 业务代码

这种真实部署链路图,你会一下子彻底明白。

相关推荐
2601_966949658 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨10 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪10 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风10 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
在世修行12 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_9628857212 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI12 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
Wang's Blog13 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
信誓旦旦的程序猿13 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫13 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障