Как задеплоить fastapi приложения на beget?

Ссылка скопирована
1 ответ

Сделал тестовый проект на fastapi с redis и celery, запускал с помощью docker compose. Теперь я бы хотел задеплоить его. Если просто перенести все файлы и установить библиотеки и запустить на хосте 0.0.0.0 то fastapi не заводиться, что наверное логично. Что я упускаю? Или какие есть более изящные способы проделать это?

Дополнительно:

не заводиться

тут все очень любят угадывать, что это значит, особенно про текст ошибки

  • Everything_is_bad, упс
    INFO:     Started server process [792025] INFO:     Waiting for application startup. INFO:     Application startup complete. ERROR:    [Errno 98] error while attempting to bind on address ('0.0.0.0', 8000): address already in use INFO:     Waiting for application shutdown. INFO:     Application shutdown complete.

    INFO: Started server process [792025] INFO: Waiting for application startup. INFO: Application startup complete. ERROR: [Errno 98] error while attempting to bind on address ('0.0.0.0', 8000): address already in use INFO: Waiting for application shutdown. INFO: Application shutdown complete.

    Не запускается именно на хосте 0.0.0.0

  • fotis06, а ты способен просто перевести текст ошибки? там явно указана проблема
  • Everything_is_bad, если поменять порт то просто другая ошибка о том что операция не разрешена. Изначально хотел это прислать:
    INFO:     Started server process [1004476] INFO:     Waiting for application startup. INFO:     Application startup complete. ERROR:    [Errno 1] Operation not permitted INFO:     Waiting for application shutdown. INFO:     Application shutdown complete.

    INFO: Started server process [1004476] INFO: Waiting for application startup. INFO: Application startup complete. ERROR: [Errno 1] Operation not permitted INFO: Waiting for application shutdown. INFO: Application shutdown complete.

  • fotis06, прав наверно не хватает, нам угадывать порт?
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Игорь Волков Ответ

    Для задеплоя FastAPI приложения на хостинге Beget, вам потребуется выполнить следующие шаги:

    1. Создайте папку для вашего приложения на сервере Beget. Для этого зайдите в панель управления хостингом и выберите раздел "Файловый менеджер". Создайте новую папку, например, с именем "my_fastapi_app".

    2. Скопируйте все файлы вашего FastAPI приложения в созданную папку на сервере. У вас должны быть файлы Python с вашим кодом, а также файл зависимостей (обычно requirements.txt).

    3. Установите виртуальное окружение для вашего приложения. Для этого выполните следующие команды в командной строке вашего сервера:

    cd /путь/к/вашей/папке/my_fastapi_app
    python3 -m venv venv
    source venv/bin/activate

    cd /путь/к/вашей/папке/my_fastapi_app python3 -m venv venv source venv/bin/activate

    4. Установите все зависимости вашего приложения. Для этого выполните следующую команду:

    pip install -r requirements.txt

    pip install -r requirements.txt

    5. Создайте WSGI файл для вашего FastAPI приложения. Создайте файл с именем, например, "wsgi.py" и добавьте следующий код:

    from fastapi import FastAPI
     
    app = FastAPI()
     
    @app.get("/")
    def read_root():
        return {"Hello": "World"}

    from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"}

    6. Настройте серверный конфигурационный файл для вашего FastAPI приложения. Создайте файл с именем, например, ".htaccess" и добавьте следующий код:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ wsgi.py/$1 [QSA,PT,L]

    RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ wsgi.py/$1 [QSA,PT,L]

    7. Теперь ваше FastAPI приложение должно быть задеплоено на сервере Beget. Вы можете запустить его, перейдя по адресу вашего домена. Например, если ваш домен - "example.com", то ваше приложение будет доступно по адресу "http://example.com".

    Это основные шаги по задеплою FastAPI приложения на хостинге Beget. Не забудьте также настроить базу данных, если ваше приложение использует её. Если у вас возникнут какие-либо проблемы или вопросы, не стесняйтесь обращаться за помощью.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно