我正在尝试在 Fly.io 上部署 FastAPI 后端,但遇到了问题,因为我的应用程序没有侦听“预期地址”,这导致 Fly.io 速度变慢。这是他们的监听端口文档。
我想配置我的 FastAPI 后端以在预期的主机 + 端口上运行,特别是
0.0.0.0:8000
。
我该怎么做?我不会使用
uvicorn
手动调用服务器启动,正如许多 FastAPI 的旧帖子所建议的那样。我需要在主脚本中的 app = FastAPI()
行添加一个参数吗?
我在 Render 工作,而不是 Fly,我们通常使用 10000 这样的端口号。
通常使用 FastAPI,您会使用 WSGI 服务器进程,如 uvicorn 或 Gunicorn,这些进程通常有
--host
和 --port
参数。 Gunicorn 将它们组合成一个 -b
参数,用于绑定到 IP/端口。
您可以尝试这样的操作,假设您的文件是
main.py
并且其中的 FastAPI 进程称为 app
:
uvicorn main:app --host 0.0.0.0 --port 10000
或者
gunicorn -b 0.0.0.0:10000 main:app
0.0.0.0
表示绑定到所有可用的IP地址,否则它们可能只能绑定到托管提供商上的127.0.0.1。