在 Azure 应用服务上部署 FastAPI 和 uvicorn

2023-11-22

我想将一个简单的 FastAPI/uvicorn 部署到 Azure 应用程序服务上。

每次部署时,一切似乎都运行顺利,但当我输入 Web 应用程序的 URL 时,我会收到以下错误消息:

"Error" message

在我的本地机器上,uvicorn 工作正常。在我的网络服务上,我运行 python 3.7 和 fastapi 0.62.0。

每次部署时,我都会启动一个名为startup.sh的文档,其中仅包含一行代码:

python -m uvicorn main:app --host 0.0.0.0 --port 80

非常感谢帮助!


适用于 Linux 的 Azure 应用服务及其 Oryx 构建运行程序在识别 Python Web 应用程序时使用以下命令运行它们Gunicorn,一个 WSGI 服务器。因此,您的启动脚本可以使用gunicorn命令在Gunicorn的工作类的帮助下启动FastAPI应用程序uvicorn.workers.UvicornWorker.

gunicorn -w 2 -k uvicorn.workers.UvicornWorker main:app

The -w表示您想要以 Gunicorn 作为 master 启动的工作线程数量。

或者,您可以使用作为gunicorn参数提供的配置文件自动计算工作人员数量,如下所示。

gunicorn --config gunicorn.py main:app

And the 古尼康.py可以具有计算工作进程数量的逻辑以及gunicorn的其他配置参数,如下所示。

import multiprocessing
import os

name = "Gunicorn config for FastAPI"

accesslog = "/home/user/fastapi/gunicorn-access.log"
errorlog = "/home/user/fastapi/gunicorn-error.log"

bind = "0.0.0.0:8000"

worker_class = "uvicorn.workers.UvicornWorker"
workers = multiprocessing.cpu_count () * 2 + 1

还有详细的分步教程演示如何在短短 30 分钟内在 Azure 应用服务上部署 FastAPI

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Azure 应用服务上部署 FastAPI 和 uvicorn 的相关文章

随机推荐

  • 如何在asp.net Windows身份验证中获取用户详细信息

    我正在使用 Windows 身份验证并访问用户名 IIdentity winId HttpContext Current User Identity string name winId Name 但我想获取其他详细信息 例如用户全名和电子邮
  • 为什么 Haskell 不接受我的组合“zip”定义?

    这是教科书上的 zip 函数 zip a gt a gt a a zip zip zip x xs y ys x y zip xs ys 我之前在 haskell 上询问 zip 是否可以单独使用 foldr 来实现 没有递归 没有模式匹配
  • LaTeX:在数学模式下堆叠三行

    Hey 我正在编写一个具有三个索引 i j k 的公式 在该行的末尾我想添加以下内容 我 1 aj 1 bk 1 n 但我希望它采用较小的字体并堆叠在一起 有人可以告诉我一个可以完成此任务的命令吗 mbox 无法执行数学模式 我认为 Try
  • 我可以使用 CSS 反转两个元素的显示顺序吗?

    这听起来很疯狂 但请耐心听我说 我正在编写一个页面 基本上包含以下内容 div div div div div div 我希望页面显示不同 具体取决于它是为屏幕渲染还是打印 通过媒体查询的魔力实现 特别是 在打印时 我想要 child2出现
  • 如何使用 Python / psycopg2 高效更新大型 PostgreSQL 表中的列?

    我有一张大桌子 上面有大约 PostgreSQL 9 4 数据库中有 1000 万行 它看起来有点像这样 gid number1 random result 1 2 NULL NULL 2 15 NULL NULL 现在我想更新列rando
  • Scala 性能:命令式与函数式风格

    我是 Scala 新手 刚刚阅读Scala 示例 在第2章中 作者有2个不同版本的快速排序 一种是命令式 def sort xs Array Int def swap i Int j Int val t xs i xs i xs j xs
  • C++ 关于 boost::unordered_map 和 boost::hash 的一些问题

    我最近才开始深入研究 boost 及其容器 并且我在网络和 stackoverflow 上阅读了一些文章 其中提到 boost unordered map 是大型集合中执行速度最快的容器 所以 我有这个类 State 它在容器中必须是唯一的
  • 在 asp.net mvc 3 中管理每个会话和请求的 AutoFac 生命周期范围

    我想在 Web 应用程序中使用 AutoFac 我有根容器 每个会话一个子容器和每个请求一个子容器 我试图找出管理这些生命周期范围的最佳方法 在 Global asax cs 中我添加了以下内容 protected void Applica
  • 将客户端生成的数据以 JavaScript 的形式保存为文件

    我正在使用 webRTC 开发 FileShare 应用程序 我想用 JavaScript HTML 实现客户端 该代码应在客户端浏览器上运行 通过 webRTC 下载时我需要保存它们 这些文件可能非常大 在将它们作为文件保存到磁盘之前 我
  • 如何阻止 asp:RadioButtonList 呈现 HTML 表格? [复制]

    这个问题在这里已经有答案了 我想呈现一个简单的控件列表 我的 ASP NET 代码隐藏如下所示 RadioButtonList list new RadioButtonList list ID rbl name list CssClass
  • android 毕加索 清除缓存

    我正在使用Picasso显示一个人的肖像 当肖像改变时 我想清除该用户的缓存 或所有用户的肖像缓存 这是我的代码 它不起作用 有人可以帮助我吗 LruCache lruCache new LruCache context lruCache
  • 删除和/或排序Usings有什么价值?

    我一直在奔跑删除和排序用途当然 因为这似乎是正确的做法 但现在我开始想 我们为什么要这样做 当然 干净和紧凑的代码总是有好处的 如果 MS 花时间将其作为 VS 中的菜单项 一定会有一些好处 谁能回答 为什么要这样做 删除和 或排序使用对编
  • 可构造点的坐标能否准确表示?

    我想编写一个程序 让用户可以像使用直尺和圆规一样绘制点 线和圆 然后我希望能够回答这个问题 这三个点共线吗 为了正确回答 我需要在计算点时避免舍入误差 这可能吗 如何表示内存中的点 我研究了一些不寻常的数字库 但我没有找到任何声称提供精确算
  • jsp getServletContext() 错误

    html
  • if 语句是否保证不会进行不必要的评估? [复制]

    这个问题在这里已经有答案了 给定两个条件 联系 我知道评估的顺序是从左到右 但是 如果第一个条件解析为 false 那么第二个条件是否保证不会被评估 define SIZE bool array SIZE int index play wi
  • Xcode 自动完成功能停止工作

    我正在将 Xcode 6 1 与 Swift 项目一起使用 我每天都会遇到几次 SourceKit iirc 编辑器崩溃问题 但它通常会自行解决 并且不会导致必须关闭 Xcode 现在 上次发生这种情况时 它已自行解决 但现在已取消所有自动
  • org.json.JSONException:在字符 0 处输入结束

    I am trying to upload video to server but whenever I am trying to upload response is showing null null and in logcat it
  • 为什么“在只需要整数时避免枚举”从 Android 性能提示中删除?

    在只需要整数的地方避免枚举 部分已从官方版本中删除开发者文档 See 为什么 Android 不使用更多的枚举 对于旧部分内容 为什么 Android VM 是否发生了更改 导致该提示过时了 该文件的原始版本只是一堆偏见 它已被重写为仅包含
  • 从 ArrayAdapter 内启动 FragmentTransaction

    我有一个ListView有几行 每行都有一个button 我希望按钮启动 FragmentTransaction 以替换 ListView 所在的 Fragment 然而 在getView 的方法Adapter 这条线不起作用 Fragme
  • 在 Azure 应用服务上部署 FastAPI 和 uvicorn

    我想将一个简单的 FastAPI uvicorn 部署到 Azure 应用程序服务上 每次部署时 一切似乎都运行顺利 但当我输入 Web 应用程序的 URL 时 我会收到以下错误消息 在我的本地机器上 uvicorn 工作正常 在我的网络服