Если после изменения настроек решения или установки обновлений у вас появляется ошибка «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. У вас должно появиться подобное окно.



На этом всё. Проверьте, что ваш сайт открывается без ошибок.