如何在 hypercorn 或 uvicorn 等 ASGI 服务器上运行 Windows IIS?

2024-05-01

我有一个用 python 编写的基于 api 的 Web 应用程序FastApi https://fastapi.tiangolo.com/它使用Uvicorn https://www.uvicorn.org/ or 超级玉米 https://pgjones.gitlab.io/hypercorn/用于部署。这些都是基于 ASGI 的服务器。有没有办法在此基础上运行 IIS?


你绝对可以通过IIS运行。以下是您可能有的两种选择(我使用 Hypercorn):

  1. HTTP平台处理程序

    <configuration>
        <system.webServer>
         <rewrite>
                <rules>
                    <rule name="HTTPS force" enabled="true" stopProcessing="true">
                        <match url="(.*)" />
                        <conditions>
                            <add input="{HTTPS}" pattern="^OFF$" />
                        </conditions>
                        <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
                    </rule>
                </rules>
            </rewrite>
            <handlers>
                <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
            </handlers>
            <httpPlatform requestTimeout="00:05:00" startupTimeLimit="120" startupRetryCount="3" stdoutLogEnabled="true" stdoutLogFile=".\logs\python-stdout" processPath="[PATH TO YOUR PYTHON EXE]" arguments="-m hypercorn app.main:app -b 127.0.0.1:%HTTP_PLATFORM_PORT% --keep-alive 5 --worker-class asyncio --workers 9">
                <environmentVariables>
                    <environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" />
                </environmentVariables>
            </httpPlatform>
        </system.webServer>
    </configuration>
    
  2. AspNetCoreModuleV2(如果使用此模块,则必须有一个 config.py 才能正确绑定 URL 和端口。)

     <system.webServer>
       <handlers>
         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
       </handlers>
       <aspNetCore processPath="[PATH TO PYTHON EXE]" arguments="-m hypercorn app.main:app --config file:config.py" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" requestTimeout="00:26:00" /></system.webServer>   </location><system.webServer></system.webServer> </configuration>
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 hypercorn 或 uvicorn 等 ASGI 服务器上运行 Windows IIS? 的相关文章

  • 如何指定聚类的距离函数?

    我想对给定距离的点进行聚类 奇怪的是 似乎 scipy 和 sklearn 聚类方法都不允许指定距离函数 例如 在sklearn cluster AgglomerativeClustering 我唯一可以做的就是输入一个亲和力矩阵 这将非常
  • Flask中使用的路由装饰器是如何工作的

    我熟悉 Python 装饰器的基础知识 但是我不明白这个用于 Flask 路由的特定装饰器是如何工作的 以下是 Flask 网站上的代码片段 from flask import Flask escape request app Flask
  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • McNemar 在 Python 中的测试以及分类机器学习模型的比较 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有用 Python 实现的好的 McNemar 测试 我在 Scipy stats 或 Scikit
  • 如何调整 matplotlib 单选按钮的大小和纵横比?

    我已经尝试了几个小时来使简单的单选按钮列表的大小和纵横比正确 但没有成功 首先 导入模块 import matplotlib pyplot as plt from matplotlib widgets import RadioButtons
  • Python re无限执行

    我正在尝试执行这段代码 import re pattern r w w s re compiled re compile pattern results re compiled search COPRO HORIZON 2000 HOR p
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • 使用 Python 3 动态插入到 sqlite

    我想使用 sqlite 写入多个表 但我不想提前手动指定查询 有数十种可能的排列 例如 def insert sqlite tablename data list global dbc dbc execute insert into tab
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • 使用 Pytest 的参数化添加测试功能的描述

    当其中一个测试失败时 可以在测试正在测试的内容的参数化中添加描述 快速了解测试失败的原因 有时您不知道测试失败的原因 您必须查看代码 通过每个测试的描述 您就可以知道 例如 pytest mark parametrize num1 num2
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • Jupyter 笔记本中未显示绘图图表

    我已经尝试解决这个问题几个小时了 我按照上面的步骤操作情节网站 https plot ly python getting started start plotting online并且图表仍然没有显示在笔记本中 这是我的情节代码 color
  • 如何在 Django Rest 框架中编写“删除”操作的测试

    我正在为 Django Rest Framework API 编写测试 我一直在测试 删除 我对 创建 的测试工作正常 这是我的测试代码 import json from django urls import reverse from re
  • 检索 geodjango 多边形对象的边界框

    如何在 geodjango 中获取 MultiPolygon 对象的边界框 在 API 中找不到任何内容http geodjango org docs geos html http geodjango org docs geos html
  • 使用seaborn绘制简单线图

    我正在尝试使用seaborn python 绘制ROC曲线 对于 matplotlib 我只需使用该函数plot plt plot one minus specificity sensitivity bs where one minus s
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • Discord.py 嵌入中禁用按钮/冻结按钮

    I m trying to make a replica of this bot in which when I press any of the buttons below it shows a dropdown menu and you
  • 如何通过函数注释指示函数需要函数作为参数,或返回函数?

    您可以使用函数注释 http www python org dev peps pep 3107 在python 3中指示参数和返回值的类型 如下所示 def myfunction name str age int gt str return
  • 寻找完美的正方形

    我有这个Python代码 def sqrt x ans 0 if x gt 0 while ans ans lt x ans ans 1 if ans ans x print x is not a perfect square return
  • 将时间添加到日期时间

    我有一个像这样的日期字符串 然后使用strptime 所以就像这样 my time datetime datetime strptime 07 05 15 m d Y 现在我想添加 23 小时 59 分钟my time 我努力了 timed

随机推荐

  • 继承时字段冲突

    我有以下简化的模型结构 common models py class CLDate models Model active models BooleanField default True last modified models Date
  • 当我使用 ctx.drawImage() 在画布中放置另一个图像时,无法将画布另存为图像

    我正在尝试制作绘图应用程序 您可以在画布上绘制一些内容 并通过单击 保存 按钮将结果保存为服务器上的图像 您还可以放置另一张图像作为绘图的背景 问题是 当我使用 ctx drawImage 将图像放入画布时 我无法将画布保存为图像 因为什么
  • resource.data 和 request.resource.data 是同一件事吗?

    我看了 Firebase 的官方指南 得到的印象是request resource data指向正在写入的新数据 但是 当我在模拟器中测试时 request resource data无论我发送什么都存在 并且始终等于resource da
  • NativeScript 中的多行文本框

    如何在本机脚本中获取支持多行的文本区域 我尝试过使用不支持多行的文本字段 还尝试过此代码将多行添加到文本字段 var myTextfield this page getViewById
  • NLog 最好的查看器是哪个? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Woocommerce 编辑订单页面中显示可编辑的自定义字段值

    我不是开发人员 但以某种方式设法将 Woocommerce 自定义字段添加到结账和订单编辑页面 有类似的问题 但我找不到正确的解决方案 自定义字段在管理订单编辑页面中可见但他们不显示值并且不会添加到订单电子邮件中 我缺少什么 请看最后的截图
  • 如何编辑 Sublime Text 构建设置?

    我想启用 std gnu 11Sublime Text 3 的 C 单文件构建于 Ubuntu 12 04 上 我已经将工具链升级到最新的 g 并且不希望在每次构建时看到以下错误 错误 error 此文件需要编译器和库支持 ISO C 20
  • 在 lldb 中的“NSMutableArray *”PO 命令类型的对象上找不到属性“count”

    我正在使用控制台po一些变量 在这种情况下我有一个NSMutableArray 我想看看它的计数 我收到一个奇妙的错误 有任何想法吗 我知道我可以看到变量列表中的计数 它说 1个对象 但我在使用时似乎对多个获取器和属性有这个错误po 更新
  • 需要选定值的 jquery 自动完成字段?

    我需要一些 jquery 插件 因为他们在大多数航班预订网站上使用它 您必须从组合列表中选择出发 到达机场 我环顾四周 但找不到任何好的解决方案 我需要一个自动完成组合框 它将保持打开状态 直到用户从可能值列表中选择一个项目 并且它必须支持
  • 如何在 Github Action 中使用 Github 发布版本号

    我创建了一个 Github 存储库 其中包含构建 npm 包并将其发布到 npmjs com 的操作 我的行动的触发因素是在 Github 上创建一个新版本 创建新版本时 Github 要求我提供版本号 我很想在操作中使用这个版本号并将其提
  • 编码java Cookie值

    应如何对 Java Cookie 对象的实际值进行编码 我无法传递 等字符或 US ASCII 之外的任何字符 Br 乔因斯 如何并不重要 但通常Base64 http en wikipedia org wiki Base64应该可以正常工
  • 列出共享邮箱上的所有电子邮件及其附件名称

    我创建了一个非常简单的 powershell 脚本来收集有关共享邮箱文件夹上所有电子邮件的一些基本信息 Add type assembly Microsoft Office Interop Outlook out null olFolder
  • Xcode 8 配置文件无法下载

    I recently updated to Xcode 8 and as I click on download option next to provisioning profile in Xcode Preferences Accoun
  • 如何从 Visual Studio 代码中的窗口标题中删除新的搜索栏?

    VSCode 版本 1 81 0 macOS 版本 Ventura 13 2 1 使用的主题 Material 主题 过去这只是没有箭头图标的文本 如何恢复旧的视觉效果和行为 我永远不会单击此按钮来激活与 CMD P 相同的窗口 右键单击搜
  • 通过私钥使用 Python 进行 SSH

    在我的脚本中 我需要使用私钥通过 SSH 连接到远程系统 并将文件转储到其目录中 我用来 SSH 进入系统的命令是这样的 ssh i private key localhost 接下来是标准输入 输入密钥 private key 的密码 我
  • 反编译 C# .Net 1.1 应用程序的最佳工具 [重复]

    这个问题在这里已经有答案了 可能的重复 net 反汇编器 反编译器 https stackoverflow com questions 578883 a net disassembler decompiler 是否有 NET Reflect
  • Google Drive:如何使用 Python SDK 转让所有权?

    我设置了一个服务帐户来复制用户上传的文件 如何将所有权转移到其他电子邮件地址 I have new permission value email protected cdn cgi l email protection type user
  • 如何在Qt WebKit中将网页保存为“另存为完整网页”

    我需要使用 Qt WebKit 保存网页 类似于 另存为完整网页 以下是我的要求 保存索引html文件 维护实体编码 需要下载所有链接的图像和其他资源 需要将html页面中的资源路径更改为本地下载路径 需要维护网页当前状态 我可以使用 Qt
  • 如何在 WPF ComboBox 中为下拉列表值/所选项目显示不同的值?

    我有一个 WPF 组合框 绑定到具有长描述的项目列表 绑定到 ComboBox 的类型具有短描述和长描述作为属性 目前 我受完整描述的约束 comboBox DisplayMemberPath FullDescription 如何确保当项目
  • 如何在 hypercorn 或 uvicorn 等 ASGI 服务器上运行 Windows IIS?

    我有一个用 python 编写的基于 api 的 Web 应用程序FastApi https fastapi tiangolo com 它使用Uvicorn https www uvicorn org or 超级玉米 https pgjon