讲师中心 微信公众号

工具推荐

视频效率加速
AniShort
AniShort

AI短剧协同制作平台

Seko
Seko

AI短剧一键生成成片

Laper
Laper

剧本策划到成片协作

立刻MV
立刻MV

低成本歌曲 MV、视频生成

Uvicorn怎么修改默认端口和IP

云辰吖_3627

云辰吖_3627

发布时间:2026-11-10 08:05:30

|

569人浏览过

|

来源于php中文网

原创

Uvicorn需显式指定--host 0.0.0.0和--port 8080才能对外提供服务,0.0.0.0仅支持IPv4;双栈需--host None或::;禁用--reload上线,优先用命令行而非脚本内uvicorn.run()。

uvicorn怎么修改默认端口和ip

直接用命令行改端口和绑定IP最可靠

Uvicorn 默认监听 127.0.0.1:8000,外部设备无法访问。要改端口或让局域网/公网能连上,必须显式传 --host 和 --port 参数,不能依赖默认值。

  • --host 0.0.0.0 表示监听所有 IPv4 接口(包括本机 IP),不是“任意地址”的模糊说法,而是明确的 INADDR_ANY
  • --port 8080 或 --port=8080 都行,但不能带引号,比如 --port "8080" 会报错 invalid literal for int()
  • 如果只写 --port 8080 不写 --host,它仍会绑定到 127.0.0.1:8080,外网还是访问不了
  • 完整推荐命令:uvicorn main:app --host 0.0.0.0 --port 8080

想同时支持 IPv4 和 IPv6?别用 0.0.0.0

0.0.0.0 只管 IPv4,哪怕系统开了 IPv6,::1 或公网 IPv6 地址也连不上。真要双栈,得把 --host 设为 None 或 :::

Uvicorn 0.52.1
Uvicorn 0.52.1

Uvicorn 0.52.1 是 Python ASGI Web 服务器,提供异步应用服务及 WebSocket 支持,常用于 FastAPI、Starlette 等应用的开发和部署。本下载为官方 PyPI 通用 wheel 包,可使用 pip 安装,并由包管理器处理所需依赖。

下载
  • --host None:Uvicorn 调用 getaddrinfo(),自动创建 IPv4 + IPv6 两组 socket(前提:系统未禁用 IPv6,且内核支持 IPV6_V6ONLY=0)
  • --host :::只监听 IPv6 所有接口,此时 curl http://[::1]:8000 能通,但 curl http://127.0.0.1:8000 会失败
  • 验证是否真双栈:ss -tuln | grep :8000 应同时看到 *:8000(IPv4)和 *:[::]:8000(IPv6)两行

在 Python 脚本里调 uvicorn.run() 容易出问题

很多人在 main.py 末尾写 uvicorn.run("main:app", host="0.0.0.0", port=8000),看似简洁,但实际埋了坑:

  • PyCharm、VSCode 的调试器进程模型会干扰 uvicorn 的 socket 绑定逻辑,尤其在 Windows 或容器里,--host 可能被静默忽略
  • 某些 uvicorn 版本(如 0.29.x、0.52.1)对 host=None 的处理不一致,脚本内调用时可能 fallback 到 IPv4-only
  • IDE 的 “Run” 按钮本质是执行 python main.py,而 uvicorn 希望你以模块方式启动:python -m uvicorn main:app ...
  • 正确做法:删掉脚本里的 uvicorn.run(),一律走终端命令;非要用 IDE 启动,就建 Run Configuration,Module name 填 uvicorn,Parameters 填完整参数

生产环境别只改端口,还得关掉开发特性

开发时加 --reload 很方便,但上线后必须去掉——它和 --workers 冲突,且 fork 子进程会导致服务短暂不可用:

  • --reload 和 --workers 不能共存,Uvicorn 启动直接报错
  • 生产建议用 --workers 4(CPU 核数 × 2 + 1),配合 Nginx 做反向代理和负载均衡
  • 如果用 Gunicorn 管理 Uvicorn Worker,绑定写法完全不同:--bind 0.0.0.0:8000 是 Gunicorn 参数,不是 Uvicorn 的 --host/--port
  • 防火墙、云服务器安全组、Docker --sysctl 设置都得同步检查,光改代码没用
改端口和 IP 看似简单,真正卡住人的往往不是参数名,而是 host 值语义差异、IDE 运行机制、以及 IPv6 在不同环境下的实际行为。动手前先确认你用的是哪种启动方式,再决定参数怎么传。

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API

Python FastAPI 异步开发利用 async/await 关键字,通过定义异步视图函数、使用异步数据库库 (如 databases)、异步 HTTP 客户端 (如 httpx),并结合后台任务队列(如 Celery)和异步依赖项,实现高效的 I/O 密集型 API,显著提升吞吐量和响应速度,尤其适用于处理数据库查询、网络请求等耗时操作,无需阻塞主线程。

119

2025.12.22

Python 微服务架构与 FastAPI 框架
Python 微服务架构与 FastAPI 框架

本专题系统讲解 Python 微服务架构设计与 FastAPI 框架应用,涵盖 FastAPI 的快速开发、路由与依赖注入、数据模型验证、API 文档自动生成、OAuth2 与 JWT 身份验证、异步支持、部署与扩展等。通过实际案例,帮助学习者掌握 使用 FastAPI 构建高效、可扩展的微服务应用,提高服务响应速度与系统可维护性。

574

2026.02.06

Python Web框架FastAPI 全栈开发教程合集
Python Web框架FastAPI 全栈开发教程合集

以 FastAPI 为核心,讲解现代 Python Web API 的高效开发方式,涵盖路由定义与路径参数/查询参数/请求体绑定、Pydantic 模型的数据校验与序列化、依赖注入(Depends)系统的分层设计、中间件与 CORS 配置、OAuth2 + JWT 认证流程、后台任务(BackgroundTasks)、WebSocket 实时通信、SQLAlchemy 异步 ORM 集成、自动生成 OpenAPI/Swagger 交互文

736

2026.05.09

Python FastAPI异步微服务与高性能接口设计
Python FastAPI异步微服务与高性能接口设计

本专题聚焦 Python FastAPI 框架在高性能接口与微服务开发中的应用,讲解异步请求处理、依赖注入机制、路由设计、数据库异步操作以及接口性能优化策略。结合实际项目案例,帮助开发者构建高并发、低延迟的现代化后端服务架构。

619

2026.06.16

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

60

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

20

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

20

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

40

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

40

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方部署指南
Uvicorn官方部署指南

共0课时 | 0人学习

Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn