Если после изменения настроек решения или установки обновлений у вас появляется ошибка «502 Bad Gateway», то скорее всего произошла ошибка в момент сборки frontend-части решения. Обычно это связано с нехваткой ресурсов (оперативной памяти) на сервере, но возможны и другие варианты.
Сначала выясним, с чем связана проблема:
Подключитесь к виртуальной машине (серверу) по SSH.
Когда появится меню, необходимо выйти в консоль. В строке "Enter your choice" введите 0 и нажмите Enter.
Затем нужно авторизоваться под пользователем bitrix. Для этого введите команду su bitrix и нажмите Enter.
Теперь посмотрим список PM2 процессов, которые сейчас запущены. Введите команду pm2 monit и выберите стрелочками нужный вам процесс. В большинстве случаев у вас будет только один, поэтому выбирать ничего не потребуется.
Затем в браузере наберите адрес вашего сайта и дождитесь появления ошибки «502 Bad Gateway».
Вернитесь в консоль и посмотрите, что отображается в поле справа.
Возможные ситуации
1. Ничего не появляется
Скорее всего процесс просто не запущен и его нужно запустить.
Выйдите из мониторинга обратно в консоль, нажав комбинацию Ctrl+C.
Перейдите в папку frontend вашего сайта с помощью команды "cd". В большинстве случаев это будет cd /home/bitrix/www/frontend (где /home/bitrix/www – путь до файлов вашего сайта).
Введите команду npm run start и нажмите Enter. Далее могут возникнуть различные ошибки:
1.1 sh: /home/bitrix/www/frontend/node_modules/.bin/nuxt: Permission denied.
В данном случае попробуйте удалить папку node_modules и установить зависимости повторно. Для этого введите последовательно команды:
rm -rf ./node_modules
npm i
Если процесс установки пройдет успешно, то вы НЕ увидите никаких сообщений об ошибках (ERROR). Возможны только предупреждения (WARNING).
После этого попробуйте запустить сервер. Для этого введите команду npm run start и нажмите Enter.
Если вы видите сообщение "Listening: http://localhost:3000/", значит все запустилось хорошо.
Попробуйте зайти на свой сайт. Если он работает, вернитесь в консоль, нажмите Ctrl+С и введите команду для запуска всех PM2 процессов:
pm2 restart all
Затем нажмите Enter. У вас должно появиться подобное окно.
На этом всё. Проверьте, что ваш сайт открывается без ошибок.
|