Налаштування Push & Pull сервера Бітрікс: встановлення та оптимізація

Налаштування Push & Pull сервера для real-time сповіщень у Бітрікс24 Коли в Бітрікс24 не приходять сповіщення про нові завдання, повідомлення або зміни статусів замовлень — майже завжди винний неправильно налаштований Push & Pull сервер. Без нього система використовує Long Polling, що дає затримк
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування Push & Pull сервера Бітрікс: встановлення та оптимізація
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

Налаштування Push & Pull сервера для real-time сповіщень у Бітрікс24

Коли в Бітрікс24 не приходять сповіщення про нові завдання, повідомлення або зміни статусів замовлень — майже завжди винний неправильно налаштований Push & Pull сервер. Без нього система використовує Long Polling, що дає затримки в 30+ секунд і створює зайве навантаження на сервер. Ми беремо на себе повне налаштування цього компонента: від установки Node.js до інтеграції з модулем pull та перевірки WebSocket-з'єднань. Зв'яжіться з нами для безкоштовної оцінки проекту.

Проблеми, які ми вирішуємо

1. Великі затримки сповіщень

При використанні Long Polling затримка доставки сповіщення може сягати 30 секунд і більше. Для інтернет-магазинів це означає, що клієнт не бачить оновлення статусу замовлення в реальному часі, а співробітники — нові повідомлення в чаті.

2. Надмірне навантаження на сервер

Кожен клієнт при Long Polling постійно тримає HTTP-з'єднання, що призводить до зростання споживання CPU та пам’яті. При 5000 одночасних підключень різниця в пам’яті між Long Polling та WebSocket досягає 60%.

3. Некоректна робота модуля pull

Без правильно налаштованого Push-сервера модуль pull у Бітрікс не може отримувати сповіщення в реальному часі, що призводить до збоїв у роботі додатків.

Як ми це робимо (доказ експертності)

Архітектура Push & Pull сервера

Push-сервер — окремий процес на Node.js, який тримає постійні WebSocket-з'єднання з браузерами користувачів. PHP-бекенд відправляє повідомлення на Push-сервер через HTTP, а той транслює їх усім підключеним клієнтам. Компоненти:

Компонент Призначення
Node.js (Push-сервер) Управління WebSocket-з'єднаннями та розсилка сповіщень
Модуль push.sender (PHP) API для відправки push-повідомлень з Бітрікс
Модуль pull (JS) Клієнтська підписка на сповіщення в браузері

Чому WebSocket кращий за Long Polling?

WebSocket забезпечує двосторонній зв’язок у реальному часі без постійних HTTP-запитів. У тестах він у 2–3 рази швидший за Long Polling за швидкістю доставки та знижує навантаження на CPU до 60%. Для інтернет-магазинів це критично: сповіщення про зміну статусу замовлення приходить миттєво, а не через 30 секунд. При 5000 одночасних підключень WebSocket використовує на 60% менше пам’яті, ніж Long Polling, що суттєво економить ресурси сервера. Згідно з документацією Bitrix, впровадження WebSocket (вебсокети) в Бітрікс дозволяє скоротити витрати на серверну інфраструктуру до 30%.

Як налаштувати Push-сервер за годину?

Установка Node.js LTS та пакета bitrix-push-server займає не більше 15 хвилин. Конфігурація — ще 10 хвилин, налаштування nginx — 5 хвилин. Решту часу йде на інтеграцію з Бітрікс та тестування. У складних випадках (наприклад, кластеризація) процес може зайняти до 3 днів.

Установка Node.js (LTS)

Використовуйте офіційний NodeSource-репозиторій для LTS-версії:

curl -fsSL https://deb.nodesource.com/setup_20.x | bash - apt-get install -y nodejs node --version # v20.x.x npm --version 

Конфігурація Push-сервера

Установіть пакет Bitrix Push Server через npm або завантажте з marketplace.1c-bitrix.ru. Приклад конфігураційного файлу /etc/bitrix/push-server.json:

{ "security": { "key": "SECRET_KEY_HERE" }, "server": { "port": 8893, "hostname": "0.0.0.0" }, "serverHTTPS": { "port": 8894, "hostname": "0.0.0.0", "key": "/etc/ssl/private/site.key", "cert": "/etc/ssl/certs/site.crt" }, "log": { "level": "info", "file": "/var/log/bitrix-push-server.log" } } 

SECRET_KEY_HERE — довгий випадковий рядок. Цей же ключ вкажіть у налаштуваннях модуля Push у Бітрікс.

Налаштування nginx для проксіювання WebSocket

Push-сервер слухає порти 8893 (HTTP) та 8894 (HTTPS). Додайте в конфігурацію nginx:

location /bitrix/subws/ { proxy_pass http://127.0.0.1:8893/bitrix/subws/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_read_timeout 3600; proxy_send_timeout 3600; } location /bitrix/sub/ { proxy_pass http://127.0.0.1:8893/bitrix/sub/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_read_timeout 3600; } location /bitrix/rest/ { proxy_pass http://127.0.0.1:8893/bitrix/rest/; proxy_set_header Host $host; } 

Інтеграція з модулем pull у Бітрікс

В адміністративному інтерфейсі: Налаштування → Налаштування продукту → Налаштування модулів → Push і Pull. Вкажіть:

  • Публічний шлях — https://yoursite.ru/bitrix/
  • Приватний шлях — http://127.0.0.1:8893/bitrix/
  • Ключ підпису — той самий SECRET_KEY_HERE

Після збереження перевірте в браузері (DevTools → Network) — повинні з’явитися WebSocket-з’єднання до /bitrix/subws/.

Автозапуск через systemd

Створіть /etc/systemd/system/bitrix-push.service:

[Unit] Description=Bitrix Push Server After=network.target [Service] Type=simple User=www-data ExecStart=/usr/bin/bitrix-push-server --config /etc/bitrix/push-server.json Restart=always RestartSec=5 [Install] WantedBy=multi-user.target 

Запустіть: systemctl enable bitrix-push && systemctl start bitrix-push.

Що входить у налаштування під ключ?

  • Аудит поточної конфігурації сервера та Бітрікс
  • Установка Node.js LTS та пакета bitrix-push-server
  • Створення конфігураційного файла з унікальним ключем безпеки
  • Налаштування nginx для проксіювання WebSocket (HTTP та HTTPS)
  • Інтеграція модуля pull в адмінці Бітрікс
  • Налаштування автозапуску через systemd
  • Тестування WebSocket-з’єднань та сповіщень
  • Передача документації та доступів

Процес оцінки та роботи

  1. Аналіз — вивчаємо поточну архітектуру та навантаження.
  2. Проектування — визначаємо оптимальну конфігурацію (порти, ключі, nginx).
  3. Розгортання — встановлюємо та налаштовуємо Push-сервер.
  4. Тестування — перевіряємо всі real-time сценарії (чати, сповіщення, корзина).
  5. Документування — передаємо підсумкові конфіги та інструкції.

Орієнтири по термінах

Налаштування займає від 1 до 3 робочих днів залежно від складності інфраструктури. Вартість визначається після аналізу. Економія на інфраструктурі — до $270–390 на місяць при переході на WebSocket замість Long Polling. У вартість входить гарантія працездатності протягом 14 днів після здачі. Досвід нашої команди — понад 5 років налаштування Бітрікс та 30+ успішних проектів.

Типові помилки при налаштуванні Push-сервера

  • Невідповідність ключа безпеки в конфігу та налаштуваннях Бітрікс
  • Блокування портів 8893/8894 фаєрволом
  • Відсутність модуля mod_proxy_wstunnel у nginx
  • Неправильний публічний шлях (має закінчуватися на /bitrix/)
  • Використання застарілої версії Node.js (нижче 18)

Порівняння WebSocket та Long Polling

Параметр WebSocket Long Polling
Затримка доставки 100–500 мс 20–30 с
Навантаження на CPU Низьке Високе (постійні HTTP-запити)
Витрати пам’яті на 5000 з’єднань ~200 МБ ~500 МБ
Складність налаштування Середня (потребує nginx) Низька (працює з коробки)

Детальніше про технологію WebSocket можна прочитати на Wikipedia. Замовте налаштування Push-сервера під ключ — отримайте консультацію та оцінку проекту безкоштовно.