我想将一个简单的FastAPI/uvicorn部署到Azure应用服务上。
每次我部署一切似乎都很顺利,但当我输入我的Web应用程序的URL时,我得到以下错误消息:
在我的本地机器上,uvicorn运行良好,在我的webservice上,我运行python3.7和fastapi0.62.0。
每次部署时,我都会启动一个名为www.example.com的文档startup.sh,其中只有一行代码:python -m uvicorn main:app --host 0.0.0.0 --port 80
帮助是非常感谢!
3条答案
按热度按时间szqfcxe21#
Azure App Service for Linux及其Oryx构建运行器在识别Python Web应用时使用
Gunicorn
(WSGI服务器)运行它们。因此,您的启动脚本可以在Gunicorn的worker类uvicorn.workers.UvicornWorker
的帮助下使用gunicorn命令来启动FastAPI应用。-w
表示您希望以Gunicorn作为master启动的worker数量。或者,您可以使用作为参数提供给gunicorn的配置文件来自动计算worker的数量,如下所示。
此外,还有一个详细的分步教程,演示了How to Deploy FastAPI on Azure App Service in just 30 minutes
4dbbbstv2#
在部署webapp后,我添加了一些模块,并在portal上添加了start命令。它对我很有效。(Download sample code)
1.如下命令:
2.设置→配置→常规设置→启动命令。
结果:
czq61nw13#
您可以使用配置SCM_DO_BUILD_DURING_DEPLOYMENT = 1在部署期间使用uvicorn激活构建
看到我的答案在其他线程
Azure应用程序服务找不到已安装的模块
我已经广泛地测试过了