Запуск приложения fast_api на хостинге от reg.ru
Всем привет, я хочу запустить свое fast_api приложение (сам запуск происходит через uvicorn) на своем сайте reg.ru. Я делал все по этому гайду, единственное, что я поменял - вместо flask я использовал fast_api (ну и, конечно же, установил недостающие модули). Но в итоге код не работает (We're sorry, but something went wrong.). Можете подсказать, что именно я делаю не так?
app.py
:
import uvicorn
import fastapi
application = fastapi.FastAPI()
@application.get("/")
async def get():
return fastapi.Response(content="Hello World", status_code=200, media_type='text/plain')
uvicorn.run(application, host='0.0.0.0', log_level='error')
passenger_wsgi.py
:
import sys
import os
INTERP = os.path.expanduser("/var/www/my_user/data/flaskenv/bin/python")
if sys.executable != INTERP:
os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
from app import application
Ответы (2 шт):
Автор решения: Makflait
→ Ссылка
Проблема в том что, нужен ВИП тариф хоста на рег ру чтоб можно было разместить там сайт. я пытался сделать это на джанго и была похожая проблема. Пока ну нашёл это)))
Автор решения: GRIGORY
→ Ссылка
сделал следующим образом:
app.py:
from fastapi import FastAPI
from a2wsgi import ASGIMiddleware
app = FastAPI()
application = ASGIMiddleware(app)
if __name__ == "__main__":
uvicorn.run(application, host='0.0.0.0', log_level='error')
и файл passenger_wsgi.py:
import sys
import os
INTERP = os.path.expanduser("/var/www/u000000/data/venv/bin/python")
if sys.executable != INTERP:
os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
from app import application