Tho*_*ger 3 python iis wsgi asgi fastapi
目前,我有一个简单的 API,在某个内部 IIS 站点的子目录下与 Flask 一起运行。现在我认为使用 FastAPI 重写该 API 可能是个好主意。在 IIS 上运行 API 并不是一件难事,您必须web.config在 IIS 配置中创建一些内容。我知道这是使用 WSGI,但是也有可能使用 ASGI(也许与 uvicorn 和 Gunicorn 结合使用)?
重要的一件事是它必须在某个子目录下运行,称之为<iis_internal_company_server>/myapi。在 Flask 中,我包含了一个众所周知的前缀中间件,它可以按预期工作。我正在寻找类似的 FastAPI,这是否可以使用app.include_router(router, prefix='/myapi')?
做了一些研究但没有找到解决方案。也许你们中的一个人对此有一些经验。如果有,请分享。提前谢谢了。
问候,托马斯
小智 6
就我而言,在 IIS 上部署使用 wfastcgi.py
首先请安装a2wsgi
pip install a2wsgi
Run Code Online (Sandbox Code Playgroud)
在main.py中
from fastapi import FastAPI
from a2wsgi import ASGIMiddleware
app = FastAPI()
@app.get("/")
def read_main():
return {"message": "Hello World"}
wsgi_app = ASGIMiddleware(app)
Run Code Online (Sandbox Code Playgroud)
在 web.config 的 appSettings 中添加此键
<add key="WSGI_HANDLER" value="main.wsgi_app" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8229 次 |
| 最近记录: |