【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 → 业务代码

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

相关推荐
爱吃苹果的梨叔1 小时前
训练集群网络中断怎么办?智算机房的 Console 串口排障方案
网络·python·智能路由器·php
李妍.5 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy5 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
2601_965958465 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
AI_小站5 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
微小冷6 小时前
在不同空间中展示数据(欧式、球面、庞加莱圆盘)
python·双曲空间·微分几何·geomstats·庞加莱圆盘·球面
felixking6 小时前
C++20 协程
开发语言·c++·协程
weixin_431600447 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
讲温控就好了7 小时前
从医疗影像到能源存储——芯片冷却温控技术的跨行业赋能
人工智能·python·能源
DeepVisionary7 小时前
从 Qwen3.8-27B 把原生多模态、原生 FP8、桌面级 Agent 三件事一次集齐,看开源大模型的“工业化拐点“
python·自动化