FastAPI(3)- uvicorn.run()

简介: FastAPI(3)- uvicorn.run()

Uvicorn


  • 基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器
  • 不是一个 Web 框架,而是一个服务器
  • 例如,它不是一个提供路径路由的框架,这是 FastAPI 框架提供的东西
  • 它是 Starlette 和 FastAPI 的推荐使用的服务器

 

总结

uvicorn 是运行 FastAPI 应用程序的主要 Web 服务器,uvicorn 和 Gunicorn 结合使用,拥有一个异步多进程服务器

 

什么是 ASGI、WSGI


https://www.cnblogs.com/poloyy/p/15291403.html

 

最简单的 FastAPI 代码


from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
    return {"message": "Hello World"}


启动 uvicorn


进到 py 文件所处目录下的命令行运行

uvicorn main:app

image.png

能不能不用命令行方式运行呢,否则太不方便了

可以!

 

使用 uvicorn.run()


from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
    return {"message": "Hello World"}
if __name__ == '__main__':
    uvicorn.run(app="2_get:app", host="127.0.0.1", port=8080, reload=True, debug=True)


  • 这样就不用敲命令行啦
  • uvicorn 有什么命令行参数,run() 方法就有什么参数

 

uvicorn 常用参数


参数 作用
app 运行的 py 文件:FastAPI 实例对象
host 访问url,默认 127.0.0.1
port 访问端口,默认 8080
reload 热更新,有内容修改自动重启服务器
debug 同 reload
reload_dirs 设置需要 reload 的目录,List[str] 类型
log_level 设置日志级别,默认 info

用到什么再补吧,暂时只用上这么多

相关文章
|
9月前
|
人工智能 API 开发工具
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
|
Python
Fastapi进阶用法,路径参数,路由分发,查询参数等详解
Fastapi进阶用法,路径参数,路由分发,查询参数等详解
1304 1
|
11月前
|
人工智能 编解码 语音技术
SpeechGPT 2.0:复旦大学开源端到端 AI 实时语音交互模型,实现 200ms 以内延迟的实时交互
SpeechGPT 2.0 是复旦大学 OpenMOSS 团队推出的端到端实时语音交互模型,具备拟人口语化表达、低延迟响应和多情感控制等功能。
2587 21
SpeechGPT 2.0:复旦大学开源端到端 AI 实时语音交互模型,实现 200ms 以内延迟的实时交互
|
11月前
|
数据采集 编解码 缓存
通义万相Wan2.1视频模型开源!视频生成模型新标杆,支持中文字效+高质量视频生成
2025年1月,阿里通义万相Wan2.1模型登顶Vbench榜首第一,超越Sora、HunyuanVideo、Minimax、Luma、Gen3、Pika等国内外视频生成模型。而在今天,万相Wan2.1视频生成大模型正式开源!
5854 8
|
10月前
|
人工智能 测试技术 API
Ollama本地模型部署+API接口调试超详细指南
本文介绍了如何使用Ollama工具下载并部署AI大模型(如DeepSeek-R1、Llama 3.2等)。首先,访问Ollama的官方GitHub页面下载适合系统的版本并安装。接着,在终端输入`ollama`命令验证安装是否成功。然后,通过命令如`ollama run Llama3.2`下载所需的AI模型。下载完成后,可以在控制台与AI模型进行对话,或通过快捷键`control+d`结束会话。为了更方便地与AI互动,可以安装GUI或Web界面。此外,Ollama还提供了API接口,默认支持API调用,用户可以通过Apifox等工具调试这些API。
|
测试技术 API
如何精确控制 asyncio 中并发运行的多个任务
如何精确控制 asyncio 中并发运行的多个任务
926 3
|
网络协议 应用服务中间件 Linux
LINUX安装nginx详细步骤
LINUX安装nginx详细步骤
5677 1
|
机器学习/深度学习 分布式计算 调度
机器学习分布式框架Ray
Ray是UC Berkeley RISELab推出的一个高性能分布式执行框架,它比Spark更具计算优势,部署简单,支持机器学习和深度学习的分布式训练。Ray包括节点(head和worker)、本地调度器、object store、全局调度器(GCS),用于处理各种分布式计算任务。它支持超参数调优(Ray Tune)、梯度下降(Ray SGD)、推理服务(Ray SERVE)等。安装简单,可通过`pip install ray`。使用时,利用`@ray.remote`装饰器将函数转换为分布式任务,通过`.remote`提交并用`ray.get`获取结果。5月更文挑战第15天
2990 7
|
消息中间件 测试技术 领域建模
DDD - 一文读懂DDD领域驱动设计
DDD - 一文读懂DDD领域驱动设计
47071 6