502 Bad Gateway
Ошибка 502 Bad Gateway означает, что nginx не получил ответа от клиентской части: процесс Node.js не запущен или упал. Чаще всего это случается после установки обновления или изменения настроек — в момент, когда фронт пересобирается, и сборке не хватило оперативной памяти.
Админка при этом обычно работает: она обслуживается Битриксом и от Node.js не зависит.
Посмотреть, что происходит
Подключитесь к серверу по SSH. Если открылось меню BitrixVM, в строке Enter your choice введите 0 и нажмите Enter — попадёте в консоль.
Переключитесь на пользователя bitrix:
su bitrixОткройте монитор процессов:
pm2 monitСлева — список процессов, справа — их вывод. Откройте сайт в браузере, дождитесь ошибки и вернитесь в консоль: в правой части появится причина.
Процесса нет в списке
Значит клиентская часть не запущена. Выйдите из монитора по Ctrl + C и запустите её вручную, чтобы увидеть ошибки:
cd /home/bitrix/www/frontend
npm run startЕсли в ответ появилось Listening: http://localhost:3000/ — всё в порядке. Проверьте сайт в браузере, вернитесь в консоль, нажмите Ctrl + C и запустите процессы под менеджером:
pm2 restart allОшибка Permission denied
Полный текст выглядит примерно так:
sh: /home/bitrix/www/frontend/node_modules/.bin/nuxt: Permission denied
Причина:
Зависимости установились неполностью или с неверными правами — обычно после прерванного обновления.
Решение:
Переустановите зависимости:
cd /home/bitrix/www/frontend
rm -rf ./node_modules
npm iУстановка идёт несколько минут. Предупреждения (WARNING) — это нормально, ошибок (ERROR) быть не должно. Затем запустите сайт, как описано выше.
Ошибка о нехватке памяти
Если в выводе есть JavaScript heap out of memory или процесс молча падает на сборке, серверу не хватило оперативной памяти.
Решение:
Сборку фронта нужно проводить, когда на сервере есть свободная память: остановите тяжёлые задания обмена с 1С и повторите. Если это повторяется при каждом обновлении, памяти на сервере мало для вашего каталога — напишите в техподдержку, мы подскажем требуемый объём.
Проверка
Откройте сайт: страницы должны открываться. Затем убедитесь, что процесс поднят под PM2, иначе после перезагрузки сервера сайт снова отдаст 502:
pm2 listВ списке должен быть процесс со статусом online.