FastAPI/uvicorn 指定主机时不工作
FastAPI/uvicorn not working when specifying host
我是 运行 Python 中的 FastAPI 应用程序,在 Windows machine 上使用 uvicorn。当我
- 运行下面的代码在我的mac,或者
- 当我没有为 uvicorn 指定端口时(从 uvicorn.run 调用中删除
host
参数)
- 当我指定端口“127.0.0.1”时,这是它在我根本不指定主机时使用的主机。
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
if __name__ == '__main__':
uvicorn.run(app, port=8080, host='0.0.0.0')
当我在浏览器上访问 0.0.0.0:8080 时,出现“无法访问此站点”的错误消息。
我已经检查了我当前的活动端口,以确保我没有在使用 netstat -ao |find /i "listening"
时发生冲突,并且 0.0.0.0:8080 未在使用中。
我当前的文件配置如下所示:
working_directory
└── app
├── gunicorn_conf.py
└── main.py
我的 gunicorn_conf.py 超级简单,只是尝试设置主机和端口:
host = "0.0.0.0"
port = "8080"
当我指定主机“0.0.0.0”时,我如何才能让它工作?
当我写上面的问题时,我找到了解决方案,并认为我会分享以防其他人遇到这个问题。要让它工作,请输入“http://localhost:8080" into the web browser instead of "http://0.0.0.0:8080”,它会正常工作。如果您通过 python 请求包等访问端点,这也有效。
运行 这在终端 uvicorn main:app --port 8086 --reload
我是 运行 Python 中的 FastAPI 应用程序,在 Windows machine 上使用 uvicorn。当我
- 运行下面的代码在我的mac,或者
- 当我没有为 uvicorn 指定端口时(从 uvicorn.run 调用中删除
host
参数) - 当我指定端口“127.0.0.1”时,这是它在我根本不指定主机时使用的主机。
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
if __name__ == '__main__':
uvicorn.run(app, port=8080, host='0.0.0.0')
当我在浏览器上访问 0.0.0.0:8080 时,出现“无法访问此站点”的错误消息。
我已经检查了我当前的活动端口,以确保我没有在使用 netstat -ao |find /i "listening"
时发生冲突,并且 0.0.0.0:8080 未在使用中。
我当前的文件配置如下所示:
working_directory
└── app
├── gunicorn_conf.py
└── main.py
我的 gunicorn_conf.py 超级简单,只是尝试设置主机和端口:
host = "0.0.0.0"
port = "8080"
当我指定主机“0.0.0.0”时,我如何才能让它工作?
当我写上面的问题时,我找到了解决方案,并认为我会分享以防其他人遇到这个问题。要让它工作,请输入“http://localhost:8080" into the web browser instead of "http://0.0.0.0:8080”,它会正常工作。如果您通过 python 请求包等访问端点,这也有效。
运行 这在终端 uvicorn main:app --port 8086 --reload