Работа модуля Push and Pull Битрикса на виртуальной машине до версии 7.5.5
|
---|
В виртуальной машине (
BitrixVM c версии 7.1 и выше
«1C-Битрикс: Виртуальная машина» — бесплатный программный продукт, готовый к немедленному использованию виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями.
Мы рекомендуем вам заранее настроить сервер очередей — облачный сервер «1С-Битрикс» или локальный Bitrix Push server 2.0. Внимание: Поддержка старых версий локальных серверов очередей (Nginx-PushStreamModule 0.3.4/0.4.0 и Bitrix Push server 1.0) прекращена Осенью 2021 года.
Перейти на актуальную версию сервера (Bitrix Push server 2.0) вам помогут инструкции:
|
Информация о версиях сервера очередей
Общая информация
Сервер очередей Push and Pull служит для мгновенного взаимодействия между собой многих инструментов продуктов Битрикс24 и 1С-Битрикс: Управление сайтом. Он используется в Задачах, Календарях, ленте Новостей, Группах, RPA, мобильном приложении Битрикс24, Чатах, Генераторе документов, Телефонии, Центре продаж и других сервисах.
Мы рекомендуем вам заранее настроить сервер очередей — облачный сервер «1С-Битрикс» или локальный Bitrix Push server 2.0.
В виртуальной машине (
BitrixVM версии 9.0 и выше
«1C-Битрикс: Виртуальная машина» — бесплатный программный продукт, готовый к немедленному использованию виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями.
Виртуальная машина сэкономит время и силы на правильное развертывание и администрирование сайта или внутреннего информационного ресурса на базе продуктов «1С-Битрикс».
Подробнее в курсе Виртуальная машина
) в качестве Push-сервера используется NodeJS RTC Service. По умолчанию он не запущен. Поэтому после установки виртуальной машины и создания пула, перейдите в меню по пути 5. Configure Push/RTC service for the pool > 1. Install/Update NodeJS RTC Service и запустите Push-сервер.
Полезные материалы
- Настройки модуля и сервера очередей Push and Pull (облачного и локального)
- Установка отдельно стоящего сервера Bitrix Push server 2.0 на базе виртуальной машины
- Установка БУС/КП на другие окружения (Debian 11, Astra 1.7, SLES 15, РЕД ОС 7.3, RedHat8, ALT 8 SP Server)
Устаревшие версии BitrixVM
Настоятельно рекомендуем перейти на актуальные версии BitrixVM.
Для устаревших виртуальных машин используйте информацию из спойлеров.
Работа модуля Push and Pull Битрикса на виртуальной машине до версии 5.0.
|
---|
На серверной стороне поддержка мгновенных сообщений осуществляется модулем NGINX: nginx-push-stream-module. Данный модуль обеспечивает поддержку long-polling соединений с клиентами и доставку опубликованных им сообщений. Примечание: Bitrix Framework и без модуля nginx-push-stream-module обеспечивает достаточно высокую скорость передачи сообщений: 60 секунд интервал, при наличии сообщений интервал между соединениями уменьшается до 10 секунд.
При открытии страницы клиент ajax-запросом, подключается к своему каналу на одном из портов NGINX: 8893 (http) или 8894 (https). (В случае использования виртуальной машины BitrixVM. При использовании собственной конфигурации сервера администратор волен использовать любые удобные ему порты.) С данного порта NGINX перенаправляет пользователя на внутренний сервер очередей (доступный только по 127.0.0.1:8895), где проверятся наличие канала пользователя и новых сообщений. В случае если в канале нет сообщений, сервер не отдает ответ, а держит соединение в течение 40 сек. Если в течение этого времени в канал пользователя придет новое сообщение, то сервер отправит его клиенту и закроет соединение. В случае если в канал пользователя не будет новых сообщений в течение 40 секунд, то сервер разорвет соединение и отправит ему заголовок: 304 Not Modified. После получения ответа сервера и закрытия соединения клиент выполнит повторное подключение к каналу с новой датой последнего изменения. Сообщения в канал пользователя публикуются посредством вызова соответствующих методов API модуля Push and Pull. Для работы с мгновенными сообщениями рекомендуем использовать протокол https. Примечание: Большое значение имеет правильная синхронизация времени сервера с глобальными серверами.
Настройка модуляПри использовании продуктов Bitrix Framework на базе виртуальной машины BitrixVM с v. 5.0 необходимости в настройке модуля нет: всё работает "из коробки". Если проект используется не на штатных средствах установки Bitrix Framework, то необходимо произвести дополнительные настройки. Примечание: Приведённые ниже образцы настроек даны для примера. Настройку под конкретный проект, при отказе от использования рекомендуемых BitrixVM или BitrixEnvironment, администратор должен произвести самостоятельно.
Внимание! Работа модуля Push and Pull поддерживается только до версии 0.5 nginx-push-stream-module. Более свежие версии не поддерживаются, так как для работы Push and Pull разрабатывается специальное решение от «1С-Битрикс».
|
Настройка nginx-push-stream-module в версии 0.4.0
|
---|
|
Настройка nginx-push-stream-module в версии 0.3.4
|
---|
Внимание! Если у вас появляется ошибка вида:
XMLHttpRequest cannot load http://example.com:8893/bitrix/sub/?CHANNEL_ID=<уникальный_адрес_канала>&tag=1&rnd=1380619831146. Origin http://example.com is not allowed by Access-Control-Allow-Origin.значит, вы используете версию модуля nginx push stream module до 0.3.4. Необходимо либо обновить версию модуля, либо закомментировать строки: add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Headers" "if-modified-since, origin, if-none-match"; |
Как использовать модуль, подробно рассказано в курсе Разработчик Bitrix Framework
в отдельной главе
Модуль работает в двух режимах:
1) постоянное подключение к специальному серверу Сервер очередей;
2) в режиме опроса сервера (60-20-10).
Первый режим рекомендуемый, от него вы получите настоящую интерактивность, но от вас потребуется
настроить Сервер очередей или взять готовую сконфигурированную виртуальную машину.
Второй режим используется когда по каким-то причинам невозможно использовать первый. В таком случае
модуль будет каждые 60 секунд обращаться на сервер и проверять, есть ли данные. Если есть, то
следующий хит будет через 10 секунд. Если данных больше нет, то хит будет сначала через 20 секунд,
а потом через каждые 60 секунд. Тем самым будет создан эффект интерактивности.
Подробнее в курсе Разработчик Bitrix Framework
.
и Ваше мнение важно для нас