Матвей Земсков

Заметки веб-мастера

Воскресенье, 30 июня 2019 12:56

Ошибка при настройке push and pull сервера в Битрикс ВМ

Оцените материал
(8 голосов)

При установке виртуальной машины Битрикс в качестве Push-and-Pull сервера по умолчанию используется модуль Nginx под названием Nginx-PushStreamModule. Этот подход считается устаревшим, поэтому в консоли Bitrix env есть возможность заменить его на NodeJS RTC service. Казалось бы нет ничего проще выбрать в консоли пункт 10 (Configure Push/RTC service), затем пункт 1 (Install/Update NodeJS RTC Service), дождаться выполнения фонового задания и начать пользоваться современным инструментом. Но к сожалению в некоторых случаях все проходит не так гладко. Когда я стал проводить описанные действия – выполнение команд завершилось ошибкой, а я получил неработающий портал клиента. Версия виртуальной машины, где произошла эта ошибка была 7.0.3.

Ошибка при настройке push and pull сервера

Причем «откатить» изменения через консоль не удалось, так как NodeJS RTC service не установился. Оказалось, что ключевая причина в том, что перестал запускаться Nginx. При попытке его запустить выдавалась следующая ошибка: nginx: [emerg] host not found in upstream “server1:8010”.

Nginx ошибка при запуске

Первым делом я, конечно, написал обращение в техподдержку Битрикса, в то же время стал искать решение проблемы самостоятельно. Потому что ответ приходится ждать довольно долго, а «оживить» портал хотелось побыстрее.

Поиск решения занял несколько часов, причем мне в первую очередь нужно было вернуть «все как было», а не искать причину ошибки.

Сначала я открыл главный файл конфигурации nginx (/etc/nginx/ nginx.conf). Дата его изменения была давнишняя, поэтому я решил, что причина неисправности не в нем. В этом файле есть подключение других конфигурационных файлов из папок /etc/nginx/bx/conf/, /etc/nginx/bx/settings/, а также /etc/nginx/bx/site_enabled/.

Зайдя в эти папки, я обнаружил, что в них есть файлы со «свежей» датой создания. Открыв параллельно соответствующие папки другой ВМ, где NodeJS RTC service не установлен, я обнаружил, что таких файлов там нет. Значит их можно и нужно удалить.

Сначала удаляем следующие файлы:

  • /etc/nginx/bx/settings/rtc-im_settings.conf
  • /etc/nginx/bx/site_enabled/rtc-server.conf

Далее удаляем файл:

  • /etc/nginx/bx/conf/rtc-im_subscrider.conf

НО на него в этой папке есть символическая ссылка. Ее тоже нужно удалить и создать снова, но указывать она должна уже на другой файл: push-im_subscrider.conf

Делается это командой

# ln –s /etc/nginx/bx/conf/im_subscrider.conf /etc/nginx/bx/conf/push-im_subscrider.conf

После выполнения этих действий, снова пытаемся запустить Nginx.

# service nginx restart или

# systemctl restart nginx.service

В моем случае он запустился без проблем и портал снова заработал.

Кстати, техподдержка Битрикса посоветовала переустановить виртуальную машину полностью, что меня совсем не устраивало.

Затем я обновил BitrixEnv до 7.3.4 и попробовал выполнить установку NodeJS RTC service снова. Обновление не помогло. Ситуация повторилась снова. Пришлось повторить все описанные выше действия еще раз.

Надеюсь, что когда вы будете читать эту статью, подобных проблем при настройке Push-and-Pull сервера в виртуальной машине Битрикс возникать не будет.

Прочитано 13802 раз
Мои услуги

Предлагаю следующие услуги:

  • Верстка шаблона сайта из дизайн-макета для CMS «1С-Битрикс Управление сайтом» и CMS “Joomla”
  • Создание форм различной сложности (обратная связь, анкеты и тп) для указанных CMS
  • Настройка и кастомизация компонентов и модулей для указанных CMS
  • Доработка модулей и компонентов для указанных CMS, добавление нестандартного функционала
  • Разработка лендингов (landing-pages)

По все вопросам обращайтесь через форму обратной связи

Скачать

Предлагаю вашему вниманию:

Наверх