有没有一种方法可以在cpanel上部署fastapi应用程序?

5

我在使用Passenger将FastAPI应用部署到cpanel时遇到了困难


旅客(Passenger)目前仅支持WSGI。FastAPI使用ASGI,因此当前无法在Passenger上部署它。有一个未解决的问题是要在Passenger上支持ASGI应用程序: https://github.com/phusion/passenger/issues/2272还有一个关于将ASGI转换为WSGI的asgiref问题: https://github.com/django/asgiref/issues/109 - pypae
2个回答

8
你也许可以使用a2wsgi来运行你的FastAPI应用程序:

在你的passenger_wsgi.py文件中:

from a2wsgi import ASGIMiddleware
from main import app  # Import your FastAPI app.

application = ASGIMiddleware(app)

如何使用uvicorn启动此应用程序? - Jitendra
我尝试将其应用于 Django 应用程序,但它没有起作用。 - DoctorHe
@DoctorHe Django已经使用了WSGI规范,您不需要进行任何转换。请参阅https://www.phusionpassenger.com/library/deploy/wsgi_spec.html以获取参考资料。 - pypae
@pypae 我想使用 "Django Channels" 库,它使用 ASGI。 - DoctorHe

2
应用Python包a2wsgi来解决问题,但它并没有起作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接