Переход с Nginx-PushStreamModule на Bitrix Push server 2.0
Общая информация
Модуль сервера очередей Nginx-PushStreamModule устарел и может работать нестабильно (зависание сообщений, падения). В результате чего сообщения могут не доставляться, это вызывает высокую нагрузку на службу PHP из-за особенностей работы модуля Nginx. Также он ограничен в функционале – в нем нет поддержки protobuf и персональных каналов, которые работают без сервера, нет возможности опроса публичного канала, чтобы узнать, кто в сети, и т.д.
Последние версии модулей продуктов «1С-Битрикс» работают намного лучше с новым сервером очередей Bitrix Push server 2.0. Например, телефония и чаты работают с ним значительно быстрее, т.к. коммуницируют с пользователями напрямую, минуя PHP.
1. Обновление VMBitrix
Обновите виртуальную машину VMBitrix до последней стабильной версии: 2. Configure localhost settings > 6. Update server.
2. Установка Bitrix Push server 2.0
По умолчанию в виртуальной машине VMBitrix версии 7.4.4 и ниже в качестве сервера очередей используется Nginx-PushStreamModule.
В главном меню виртуальной машины VMBitrix: 9. Configure Push/RTC service for the pool смотрим, какой сервер используется в качестве сервера очередей. В данном примере видим, что это действительно Nginx-PushStreamModule:
Выбираем пункт меню 1. Install/Update NodeJS RTC service, вводим название хоста Hostname и подтверждаем установку:
Дожидаемся, пока задача по установке и запуску службы NodeJS-PushServer будет закончена:
/opt/webdir/temp
.3. Bitrix Push server 2.0 в продуктах «1С-Битрикс»
В административном разделе в Настройки > Настройки продукта > Настройки модулей > Push and Pull мы видим, что сервер очередей настроен на модуль nginx-push-stream-module .
Перед переходом на Bitrix Push server 2.0 вам нужно предварительно сбросить настройки сервера очередей. Для этого нажмите на кнопку По умолчанию:
Чтобы включить новый сервер очередей Bitrix Push server 2.0, в опции Использовать "Push server": установленный локально выберите Виртуальная машина 7.3 и новее (Bitrix Push server 2.0) и сохраните настройки:
Все готово. Как правило, никаких настроек больше не требуется.
Возможные ошибки
При установке и первом запуске Bitrix Push server 2.0 создается уникальный секретный код в файле настроек сервера очередей /etc/push-server/push-server*.json в секции security
в параметре key
:
"security": { "key": "<ваш секретный ключ>" },
В виртуальной машине BitrixVM при первом запуске Bitrix Push server 2.0 этот код автоматически прописывается в файл настроек ядра системы /bitrix/.setting.php и в базу данных, а также он виден в административном интерфейсе в поле Код-подпись для взаимодействия с сервером:
Бывают ситуации, когда по каким-либо причинам в файле настроек ядра /bitrix/.setting.php и в базе данных секретный код отличается от того, который прописан в настройках сервера очередей. Из-за этого сервер очередей работает некорректно, сообщения не доставляются.
Чтобы решить эту проблему, необходимо в меню виртуальной машины BitrixVM пересоздать роль NodeJS-PushServer: 9. Configure Push/RTC service for the pool > 1. Install/Update NodeJS RTC service
Если у вас свое серверное окружение, то можно сделать это вручную:
- Скопировать ключ из файла настроек сервера очередей /etc/push-server/push-server*.json.
- Перейти в административном интерфейсе продукта «1С-Битрикс»: Настройки > Настройки продукта > Настройки модулей > Push and Pull и сбросить настройки сервера очередей кнопкой По умолчанию.
- Скопированный ключ вставить в поле Код-подпись для взаимодействия с сервером и сохранить настройки.
После этого работа сервера очередей будет восстановлена.
Доп. материалы
и Ваше мнение важно для нас