Ошибка 502 bad gateway bitrix environment

Все про хостинг | Cannot allocate memory Bitrix - блог студии Клондайк.

Довольно часто при установке 1С-Битрикс: Веб-окружение вылезает либо 502 Bad Gateway, либо пишется, что в соединении отказано. Разумеется, если Вы создали сайты через меню и правильно прописали DNS.

Причина кроется в неправильно сконфигурированных веб-серверах, которые установлены на сервере — это Nginx и Apache.

В случае, когда работает Nginx и не работает Apache, вы получаете ошибку 502, а когда не работает Nginx или даже оба сразу — Вы наблюдаете connection refused.

Залезаем на сервер (у меня стоит ОС CentOS, у владельцев debian-based папка с apache называется apache2), смотрим файлы логов.
Находятся они по адресу /var/log/httpd/ для Apache и /var/log/nginx/ для Nginx

Смотрим файл с названием error.log

И тот, и другой выдают одну и ту же ошибку: cannot allocate memory ровно столько раз, сколько я пытался запустить эти сервисы командами

service httpd start

и

service nginx start

.

Быстрое решение проблемы

mmap — это POSIX средство для разделения совместных ресурсов. Cannot allocate memory означает, что невозможно выделить заданное программами количество памяти ввиду отсутствия железно свободной памяти, которая занята процессами системы, разделённой областью и самими службами.

Иными словами, нашей оперативки не хватает для того, чтобы нормально работали эти две службы, так как много просят.

Итак, для тех, кто любит быстрые решения:

Проблема заключается в двух модулях: OPCache и push_stream, а также необходимо будет поднастроить количество запускаемых серверов Apache

Настоятельно рекомендую сначала запустить nginx, так как легко отследить результат — появляется 502я ошибка при попытке зайти на сайт вместо отказа от соединения.

Настройка Nginx

Заходим в файл /etc/nginx/bx/conf/im_settings.conf

Там находим строку

push_stream_shared_memory_size ------ <некое число>M

Уменьшаем в несколько раз это число, сохраняем результат

Пробуем запустить nginx командой

service nginx start

и последующей за ней

service nginx status

если кажется, что всё ОК.

Если не запускается — пробуем ещё уменьшить число.

В моём случае число нужно было заменить на 16. Для кого-то это число может быть 64, а для кого-то — 4

В конечном итоге работаем на результат =)

Настройка Apache

Теперь займёмся Apache.

Вводим команду

nproc

Она показывает, сколько ядер содержится у нас в процессоре. Это число равно числу клиентов Апача, которых нам нужно будет оставить.

На моём тестовом сервере всего одно ядро.

Заходим в файл /etc/httpd/bx/conf/prefork.conf
Ставим StartServers равным нашему количеству ядер.

Остальные настройки можно уменьшить примерно в той степени, как и startservers.

Мои настройки Вы можете посмотреть на картинке.

Далее заходим в файл /etc/php.d/opcache.ini

Там находим строку

opcache.memory_consumption = <некое число>M

В моём случае число 124 (откуда такое «ровное» число — чёрт его знает) нужно было заменить на 16. Опять же, для кого-то этого будет недостаточно и необходимо будет уменьшить больше.

В конечном итоге, после метода проб и ошибок, у Вас должна сработать команда
service httpd start и отобразиться волшебное

httpd (pid ####) is running

После запуска обеих служб вы получите работающую страницу

То, что делать необязательно

Теперь можем закинуть bitrix_server_test.php в /home/bitrix/www/ и проверить, на чём свет стоит.

НАПОМИНАЮ! (об этом подробнее говорилось в статье Виктора Тарана), что в этой папке должна быть заглушка индексной страницы и никакого рабочего сайта, так как весь мусор собирается именно сюда.

Запускаем файл — ваш_ip/bitrix_server_test.php и смотрим, насколько хорошо всё устроено.

А для того, чтобы разобраться подробнее, что за файлы мы трогали и что это за модули — будет написана пара статей в обозримом будущем.

ЛогоОшибка 502 Bad Gateway – что это значит? Дословно фраза переводится с английского на русский как плохой или неверный шлюз. Это уведомление означает проблемы с соединением. Неисправности могут скрываться как на стороне пользователя, так и на стороне сервера. В большинстве случаев ошибки с номерами 500, 502, 503, 504 указывают на поломки самого сайта, но изредка пользователь может проблему самостоятельно. Разберемся, что делать в подобной ситуации и, как это исправить.

Содержание

  1. Виды ошибки
  2. Проверка доступа к интернету
  3. Очистка кэша и cookie
  4. Очистка кэша DNS
  5. Режим инкогнито в браузере
  6. Если ничего не помогает?
  7. Проблемы со стороны веб-сервиса
  8. Видеоинструкция
  9. Заключение

Виды ошибки

Появляться данное сообщение может в разных формулировках. Все зависит от используемого хостинга. При отсутствии доступа к сайту вы можете наблюдать следующие вариации ошибки:

  • 502 Proxy Error;
  • Temporary Error;
  • 502 Bad Gateway nginx/x.x.x (где X – это версия сервера);
  • 502 Bad Gateway/Bitrix Environment (при работе с «Битрикс»);
  • 502 (выскакивает при ошибках в сервисах Google);
  • HTTP Error 502 и другие.

Ошибка

Использовать переводчик для определения сути ошибки не нужно, поскольку со стороны пользователя разницы в них нет. Способы решения проблемы будут одинаковыми.

Проверка доступа к интернету

Первым делом посмотрите, не появляется ли ошибка при переходе на другие сайты. Для этого попробуйте зайти на любой ресурс. Можно тестировать на поисковике «Гугл», социальных сетях или других сайтах, которые вы посещаете чаще всего. Лучше всего посещать федеральные порталы, доступ к которым не должен быть ограничен в любых ситуациях.

Проверка доступа в сеть

Второй способ проверки – это тестирование другого браузера. Если ошибка устранилась, это значит, что проблема на стороне вашего основного браузера. Попробуйте переустановить или обновить программу.

Если такое сообщение появляется на любых сайтах и в любых браузерах, то проблему необходимо искать на вашем компьютере или на стороне провайдера. Появление ошибки исключительно при загрузке определенного сайта обозначает, что неисправность на стороне веб-сайта.

Очистка кэша и cookie

Попробуем устранить появление ошибки с помощью очистки кэш-файлов и cookie в браузере. Эта процедура выполняется приблизительно одинаково во всех популярных программах. Разберемся, как это сделать.

В большинстве браузеров работает комбинация клавиш [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]Del[/knopka]. С ее помощью осуществляется переход в окно настроек для очистки истории и cookie. При работе с Google Chrome необходимо перевести временной диапазон в положение «Все время». Также обязательно ставьте галочки возле отмеченных пунктов. После этого нажмите на кнопку «Удалить данные»:

Удалить данные

Яндекс.Браузер имеет практически аналогичное окно для очистки истории. Здесь также нужно указать пункт «За все время», выбрать очистку кэша и файлов cookie:

За все время

Браузер Opera тоже поддерживает данную комбинацию клавиш. При нажатии открывается следующее окно. Во вкладке «Основные» выбирается временной диапазон и отмечаются все пункты:

Основные

Mozilla Firefox открывает отдельное окно с функциями очистки. Выставляем настройки со скриншота и жмем на кнопку «Удалить сейчас»:

Удалить сейчас

Окно очистки в стандартном браузере Windows (Microsoft Edge) выглядит следующим образом:

Microsoft Edge

Очистка кэша DNS

Еще одна вещь, которая может стать причиной со стороны компьютера – это кэш DNS. Очистить его можно через командную строку Windows. Делается это следующим образом:

  1. Открываем командную строку с администраторскими правами. Сделать это можно через поиск в меню «Пуск».

Запуск командной строки

  1. Теперь вводим [kod]ipconfig /flushdns[/kod] и запускаем выполнение.

ipconfig flushdns

  1. Если очистка выполнена успешно, вы увидите соответствующее сообщение.

Успешная очистка DNS

Режим инкогнито в браузере

Чтобы не переустанавливать браузер с нуля, вы можете открыть его в режиме инкогнито. В нем программа не использует плагины и расширения, установленные пользователем, настройки и так далее. Если в режиме инкогнито проблема исчезает, то необходимо искать причину в надстройках и параметрах основного браузера.

Запускается данный режим с помощью комбинации клавиш [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]N[/knopka] в браузерах Google Chrome и Opera.  А в Яндекс.Браузере, Mozilla Firefox и Microsoft Edge используется [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]P[/knopka].

Мнение эксперта

Василий

Руководитель проекта, эксперт по модерированию комментариев.

Задать вопрос

Если ни один из перечисленных методов не помогает, то попробуйте перезагрузить оборудование (ПК, роутер/модем).

Если ничего не помогает?

Если перезагрузка не исправила ситуацию, то причина ошибки находится на стороне провайдера или самого веб-ресурса. В первом случае пользователь может обратиться в службу поддержки, оставить жалобу, вызвать мастера и так далее. Проблема будет устраняться провайдером исходя из индивидуальной ситуации.

Если речь идет о массовом отсутствии доступа к сайту, то владельцы сервера быстро устранят поломку. Вам остается только подождать некоторое время или обратить в поддержку сайта, если такая возможность имеется.

Ошибка 520

Проблемы со стороны веб-сервиса

Ошибка 502 Bad Gateway может появляться при использовании виртуальных хостингов и арендованных серверов. К самым распространенным неисправностям можно отнести следующие:

  • Перегруженность серверов. Случается в тех ситуациях, когда количество заходов на сайт превышает допустимое значение. При росте популярности портала потребуется смена хостинга на более надежный.
  • Разрыв связи между серверами. Например, если сервер-источник nginx находится на одном сервисе, а обратный прокси-сервер (Apache/PHP-FPM и прочее) на другом. Необходимо проверить пинг и убедиться в стабильности соединения.
  • Большой код, огромное количество плагинов и надстроек. Эта причина характерна для WordPress или других виртуальных хостингов.
  • Плохой код сайта и оптимизация.

Во всех случаях проблему нужно решать индивидуально после анализа поведения сайта и серверов. Рекомендуется связаться с поддержкой хостинг-провайдера для прояснения ситуации, если исправить проблему самостоятельно не получается.

Видеоинструкция

Обязательно ознакомьтесь с представленным роликом. В нем наглядно разбираются все способы решения проблемы.

Заключение

Теперь вы знаете перевод ошибки 502 Bad Gateway на русский язык, а также сможете ее исправить, если вина не лежит на стороне сервера.

Ошибка 502 при открытии сайта может появиться неожиданно. В этой статье мы расскажем, что значит код ошибки 502 и что может сделать пользователь и владелец сайта, чтобы её исправить.

Ошибка 502 Bad Gateway: что значит

Файлы любого сайта находятся на физическом сервере. Чтобы их получить и отобразить веб-ресурс на компьютере, браузер делает запрос на сервер. Если он по какой-либо причине не передал файлы, появляется ошибка 500-511.

Ошибка 502 Bad Gateway возникает при неправильной работе прокси-сервера, DNS-сервера и чаще всего сервера, на котором размещён сайт. Проблема может распространяться как на весь ресурс, так и на отдельные страницы. Это зависит от характера проблемы. Существуют разновидности 502 ошибки: Bad Gateway Nginx, Bad Gateway Apache. Об их отличиях мы расскажем ниже. Также эта ошибка может иметь формулировки:

  • Bad Gateway: Registered endpoint failed to handle the request, Temporary Error (502),
  • Error 502,
  • Bad 502 Gateway,
  • 502 Error,
  • 502. That’s an error,
  • 502 Service Temporarily Overloaded,
  • 502 Server Error: The server encountered a temporary error and could not complete your request,
  • 502 – Web server received an invalid response while acting as a gateway or proxy server,
  • 502 Bad Gateway Nginx,
  • 502 Proxy Error,
  • HTTP 502,
  • HTTP Error 502 Bad Gateway.


Что значит плохой шлюз: ошибка 502

Причины возникновения ошибки 502 Bad Gateway

  1. Первая и основная причина ― перегрузка сервера. Перегрузка может быть вызвана несколькими проблемами:

  2. Большое количество посетителей одновременно. Веб-ресурс может посещать ограниченное количество посетителей. Сколько человек может посетить сайт зависит от возможностей сервера (размера оперативной памяти) и настроек, которые сделал создатель ресурса. Если по какой-либо причине на сайт зайдёт больше пользователей, чем запланировано, сервис может не справиться и страница выдаст код 502. Такое случается при рекламных акциях и распродажах в интернет-магазинах.
  3. Атака хакеров или DDoS-атака. Эта проблема связана с предыдущей причиной перегрузки. Хакер имитирует большой наплыв пользователей, из-за чего сервер выходит из строя. Такие атаки могут быть использованы для снижения продаж.
  4. Плохая оптимизация сайта. Настройки ресурса сделаны так, что маленькое количество посетителей генерирует много запросов. В этом случае нужно оптимизировать работу сервера с пользовательскими запросами.
  5. Второй причиной возникновения кода 502 могут явиться ошибки РНР. Если для расширения функционала сайта в панель управления были добавлены некорректно настроенные плагины, они могут выдавать проблемы в своей работе. Вместе с ними ошибку покажет и сайт целиком. Также если код сайта написан неправильно, запросы могут давать отрицательный результат.
  6. Ошибка браузера. Проблема может быть на стороне пользователя, если у него установлены расширения, которые нарушают соединение с сервером сайта.

Чем отличается ошибка 502 Bad Gateway Nginx

Между браузером и сервером может стоять веб-сервер. Он используется для снижения нагрузки на сервер, аутентификации пользователей и многого другого. Самые популярные программы для создания веб-сервера ― Nginx и Apache. Так как веб-сервер является посредником между браузером и сервером, то именно он будет оповещать пользователя о проблеме. Поэтому в зависимости от веб-сервера в сообщении вы можете увидеть надпись Bad Gateway Nginx или Bad Gateway Apache. При этом причины возникновения проблемы одинаковы.

Как исправить ошибку 502

Что делать, если вы пользователь

  1. Перезагрузите страницу, если проблема была вызвана наплывом посетителей. Возможно, через некоторое время посетители уйдут со страницы и вы сможете увидеть контент.
  2. Попробуйте зайти на другой веб-ресурс. Если вы можете зайти на другой сайт, значит проблема на стороне владельца ресурса и вы ничего не можете сделать. Вернитесь на страницу позже, когда администратор восстановит доступ.
  3. Проверьте подключение к интернету. Из-за низкой скорости или нестабильности соединения браузер может не получать данные с сервера.
  4. Запустите браузер в режиме «Инкогнито». В режиме «Инкогнито» браузер работает с базовыми настройками. Если вам удалось зайти на веб-ресурс в этом режиме, значит одно из ваших расширений браузера мешает соединению. Это расширение нужно отключить.
  5. Почистите файлы cookies. Если при повторном входе на сайт всё равно отображается ошибка 502, очистите кэш браузера. Возможно, доступ уже восстановлен, но ваш браузер обращается к старой версии страницы из кэша.
  6. Очистите кэш DNS. DNS-кэш — это временная база данных вашего компьютера, которая хранит записи обо всех последних посещениях и попытках посещений веб-сайтов и их IP-адресах. Кэш позволяет ускорить вход на часто посещаемые веб-ресурсы. Если у сайта изменились DNS, а данные из кэша отправляют на старый IP-адрес, в браузере появится код 502. После очистки браузер начнёт обращаться к новому IP-адресу.


Как очистить кэш DNS

В зависимости от вашей операционной системы очистите кэш по одной из инструкций.

  1. Откройте командную строку. Для этого введите в поисковую строку «Командная строка» и выберите появившееся приложение:
  1. Введите команду:

ipconfig /flushdns

  1. Дождитесь сообщения об очистке кэша:
  1. Откройте терминал клавишами Ctrl+Alt+T.
  2. Введите команду:

Для Ubuntu:

sudo service network-manager restart

Для других дистрибутивов:

sudo /etc/init.d/nscd restart

  1. Войдите в терминал. Для этого нажмите клавиши Command + Space. Введите Терминал и нажмите на найденное приложение.
  2. Введите команду:

sudo killall -HUP mDNSResponder

Готово, вы очистили кеш DNS. Попробуйте заново зайти на сайт.

Что делать, если вы владелец сайта

Проверьте количество свободной памяти. Это можно сделать двумя способами.

Способ 1 ― введите команду top в командной строке сервера:

Mem ― вся оперативная память.

Swap ― раздел подкачки.

Посмотрите на строку Memfree. Это количество свободного места на сервере. Если там указано маленькое число, ошибка 502 Bad Gateway появляется из-за нехватки памяти. Увеличьте количество оперативной памяти и проблема пропадёт. Также в результатах можно будет увидеть, какую нагрузку на сервер даёт каждый отдельный процесс.

Способ 2 ― введите команду free -m.

Mem ― вся оперативная память.

Swap ― раздел подкачки.

В строке Memfree показано свободное место на сервере. Если там маленькое число, увеличьте количество оперативной памяти.

Проверьте логи сервера. Если проблема возникла в момент каких-либо обновлений на сайте, проверьте журнал изменений, чтобы отменить те доработки, которые нарушили функциональность сервера. Также в логах можно увидеть DDos-атаку. Если дело в нехватке памяти, в логах отобразится ошибка OOM (out of memory).

Проверьте плагины в WordPress. Если ваш сайт создан на WordPress, некоторые плагины и темы могут нарушать работу сервера.

  1. 1.

    Войдите в панель управления WordPress. Если вы пользуетесь услугой REG.Site, войти в панель управления CMS можно прямо из Личного кабинета.

  2. 2.

    Перейдите во вкладку «Плагины» ― «Установленные».

  3. 3.

    Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:

Можно сразу отключить все плагины, чтобы убедиться, что один из них влияет на работу сервера. И далее по очереди включайте плагины, пока не найдёте конкретный плагин-виновник.

Проверьте, как работают вспомогательные службы, например MySQL и Memcached. Иногда они могут стать причиной 502 ошибки.

Свяжитесь со службой поддержки своего хостинг-провайдера. Если ничего из вышеперечисленного не помогло, обратитесь к службе поддержки и подробно опишите проблему и действия, которые вы предприняли до обращения. Действуйте по одной из инструкций ниже.


Сайт находится на виртуальном хостинге REG.RU

Если вы столкнулись с единичными случаями возникновения 502 ошибки, можете проигнорировать их.
Если код 502 возникает регулярно, напишите заявку в службу поддержки. В заявке укажите:

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.


Сайт находится на VPS REG.RU

Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов.
Клиенты с VPS сталкиваются с «502 Bad Gateway», когда:

  • какой-то из сервисов выключен. Перезапустите веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx;
  • между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера.

Если вам не удалось самостоятельно устранить ошибку 502, обратитесь в техподдержку. В заявке укажите:

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.

Ошибка 502 на виртуальном хостинге «Bad Gateway»

Ошибка 502 возникает когда Apache работает в связке с Nginx. Запрос от пользователя прошел через NGINX к Apache но тот в свою очередь вернул нулевой результат прокси-серверу NGINX.

Причины возникновения и способы устранения ошибки 502:

  • Дочерний процесс Apache не смог обработать поступивший к нему запрос и завершился досрочно. Зачастую это связано с ошибкой в скрипте сайта или нехваткой памяти для выполнения процесса. Начните свой поиск error 502, в таком случае с логов ошибок сайта. Вполне возможно там будет информация, которая привела к возникновению этой ошибки. Но зачастую лог не содержит ничего полезного по этой проблеме, поскольку процесс Apache завершился досрочно. Если это так, разбейте свой скрипт на участки, и выполняйте их поочередно. Это должно помочь найти 502 error. В другом случае, вы можете самостоятельно завершить работу зависших обработчиков и перезапустить их, подробнее см. Завершение работы процессов
  • Процесс Apache завершился по таймауту и не вернул в поток вывода никаких данных. Обычно это связано с длительным выполнением скрипта, либо зацикливанием в нем. Чтоб не получать 502 bad gateway, когда скрипт выполняется длительное время, лучше его запускать из консоли, а в случае если скрипт запускается регулярно, поставить его на CRON. 
  • Скрипты сайта превышают ограничения, накладываемые на них условиями нашего хостинга, и автоматически завершаются. Для устранения ошибки достаточно провести оптимизацию ваших скриптов. 
  • При использовании CMS Bitrix ошибка может возникать из-за некорректного названия директории для хранения кэшированных файлов. Проблема решается переименованием данной директории. 
  • Ошибка при включенном APC (Alternative PHP Cache). Проблема решается отключением APC при помощи добавления в файл .htaccess вашего сайта следующей строки: php_flag apc.cache_by_default Off 
  • Технический сбой на сервере. Проблема максимально быстро диагностируется нашими специалистами и оперативно устраняется.

Если вы столкнулись с единичными случаями возникновения 502 ошибки, можете проигнорировать их.

Если 502 ошибка возникает регулярно, напишите заявку в службу поддержкиВ заявке укажите:

  • Точное московское время наблюдения проблемы.
  • Название сайта, на котором была замечена проблема.
  • Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  • Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.

Ошибка 502 на VPS

Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов. 

Наиболее частые причины возникновения 502 ошибки: 

  • Какой-то из сервисов выключен. Необходимо перезапустить веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
  • Между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера. 

Если вам не удалось самостоятельно устранить ошибку 502, обратитесь в техподдержку.

Понравилась статья? Поделить с друзьями:
  • Ошибка 5014 бмв е60
  • Ошибка 5013 сбербанк
  • Ошибка 5012 canon mg2440
  • Ошибка 5011 кэнон
  • Ошибка 5011 canon mg2440 как исправить