# 502/503 ошибка при статусе «Приложение запущено» Если развернув проект со статусом «Приложение запущено» вы наблюдаете 503 или 502 ошибку и нет логов, это связано с одной из нижеперечисленных причин. ## Ошибка 502 Ошибка 502 в нашем случае чаще всего возникает в двух случаях: 1) От несоответствия портов, прописанных в коде или команде запуска и портов, прописанных в файле конфигурации (amvera.yaml). 2) Из-за того, что приложение работает на `localhost`, вместо `0.0.0.0`. Разберем оба случая более подробно. ### Приложение слушает не тот порт По умолчанию в Amvera Cloud открыт порт 80. При разработке веб приложения, вы указываете то, какой порт будет ваше приложение. Обычно это значение `port` в команде запуска приложения либо в значении параметра метода запуска приложения. Например, если логика запуска вашего приложения в коде выглядит так (пример на Python, Flask): ```python if __name__ == "__main__": #... app.run(host="0.0.0.0", port=5000, debug=True) ``` То в amvera.yml нужно указать в значение параметра `containerPort` порт `5000`. ```yaml # часть amvera.yaml run: containerPort: 5000 ``` Вместо `5000` можно указать номер порта, который слушает ваше приложение по аналогии. ### Host не изменен на 0.0.0.0 Обычно в тех же параметрах запуска приложения указывается адрес (host), на котором будет работать ваше приложение. Как правило, этот параметр несет название `host`, а его значение по умолчанию - `localhost` (127.0.0.1— 127.255.255.254). Если host оставлен в значении localhost(127.0.0.1— 127.255.255.254), а не 0.0.0.0 вы можете получить ошибку 502. Если это так: поменяйте значение хоста на 0.0.0.0. В таком случае приложение будет работать на всех интерфейсах, а не только на localhost, что и требуется для успешного запуска приложения. Пример, как должен выглядеть запуск вашего приложения (Python, Flask): ```python app.run(host='0.0.0.0', port=ваш порт) ``` Если ничего из этого не помогло решить проблему, проверьте, что вы пересобираете проект, а не просто перезапускаете или попробуйте повысить тариф. ## Ошибка 503 Ошибка 503 говорит о том, что сервис недоступен. Как правило, явные причины следующие: 1) Приложение фактически не запущено или не может запуститься в связи с какой-либо ошибкой. 2) Сервис перегружен и нужно повысить тариф. В первом случае необходимо проверить лог приложения, скорее всего там будет ошибка. Во втором - рекомендуется поднять тариф. ```{eval-rst} .. admonition:: Рекомендация :class: tip Попробуйте запустить проект на одном из старших тарифов, и после успешного запуска измените тариф на более подходящий в разделе "Настройки". ``` ### Выбран неподходящий тариф Иногда вашему проекту может не хватать ресурса ОЗУ или CPU. Попробуйте изменить тариф в разделе "Настройки", увеличив ресурс. Если причина только в тарифе - то проект заработает. Причина может быть не только в тарифе, в связи с этим рекомендуем во время отладки выставить один из старших тарифов (чтобы исключить эту причину), и когда отладка завершена поменять на требуемый тариф. ```{eval-rst} .. admonition:: Важно :class: warning На тарифе "Пробный" не работают БД и их клиенты(pgAdmin) из-за недостатка ОЗУ. Таким сервисам больше подходит тариф "Начальный" и выше. ``` ```{eval-rst} .. admonition:: Рекомендация :class: tip Для любых не тестовых проектов выбирать тариф уровня не ниже "Начальный". ``` ### Допущена ошибка в названии файла При написании `amvera.yaml` или `Dockerfile` вы могли допустить ошибку в имени копируемого файла. Убедитесь, что все файлы указаны верно. ### Ошибка в зависимостях Проверьте, все ли зависимости верно указаны. Особенно это касается проектов на Python. Убедитесь, что у Вас есть файл `requirements.txt` и в нем перечислены все требуемые зависимости. Этот файл должен находиться в корне проекта. Если это не так, укажите путь до него в `amvera.yaml`: ```yaml # часть amvera.yml build: requirementsPath: src/requirements.amvera.txt ``` Вместо `src/requirements.amvera.txt` укажите путь до вашего файла `requirements.txt` ```{eval-rst} .. admonition:: Подсказка :class: hint Если не получается разобраться, пишите в поддержку support@amvera.ru. Просим сразу указывать имя пользователя и проекта. Мы постараемся помочь. ```