Bitrix Push & Pull Server: Installation and Optimization

Bitrix Push & Pull Server: Installation and Optimization ### When notifications about new tasks, messages, or order status changes don't arrive in Bitrix24, the culprit is almost always an incorrectly configured Push & Pull server. Without it, the system uses Long Polling, causing delays of 30

Our competencies:

Frequently Asked Questions

Bitrix Push & Pull Server: Installation and Optimization

When notifications about new tasks, messages, or order status changes don't arrive in Bitrix24, the culprit is almost always an incorrectly configured Push & Pull server.

Without it, the system uses Long Polling, causing delays of 30+ seconds and additional server load. We take on the full configuration of this component: from Node.js installation to integration with the pull module and WebSocket connection testing. Contact us for a free project assessment.

How Push & Pull Works: Architecture and Components

The Push server is a separate Node.js process that maintains persistent WebSocket connections with user browsers. The PHP backend sends messages to the Push server via HTTP, which then broadcasts them to all connected clients. Components:

Component Purpose
Node.js (Push server) Manages WebSocket connections and broadcasts notifications
push.sender module (PHP) API for sending push messages from Bitrix
pull module (JS) Client-side subscription to notifications in the browser

Why WebSocket Is Better Than Long Polling

WebSocket provides real-time bidirectional communication without constant HTTP requests. In tests, it is 2–3 times faster than Long Polling in delivery speed and reduces CPU load by up to 60%. For online stores, this is critical: an order status change notification arrives instantly, not after 30 seconds. At 5000 concurrent connections, WebSocket uses 60% less memory than Long Polling, significantly saving server resources. According to Bitrix documentation, implementing WebSocket (websockets) in Bitrix can reduce server infrastructure costs by up to 30%.

How to Set Up the Push Server in an Hour

Installing Node.js LTS and the bitrix-push-server package takes no more than 15 minutes. Configuration takes another 10 minutes, nginx setup 5 minutes. The remaining time goes to Bitrix integration and testing. In complex cases (e.g., clustering), the process may take up to 3 days.

Installing Node.js (LTS)

Use the official NodeSource repository for the LTS version:

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

Configuring the Push Server

Install the Bitrix Push Server package via npm or download from marketplace.1c-bitrix.ru. Example configuration file /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 is a long random string. Use this same key in the Push module settings in Bitrix.

Configuring nginx for WebSocket Proxying

The Push server listens on ports 8893 (HTTP) and 8894 (HTTPS). Add to your nginx configuration:

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; } 

Integration with the Pull Module in Bitrix

In the administrative interface: Settings → Product Settings → Module Settings → Push and Pull. Specify:

  • Public path: https://yoursite.ru/bitrix/
  • Private path: http://127.0.0.1:8893/bitrix/
  • Signature key: the same SECRET_KEY_HERE

After saving, check in the browser (DevTools → Network) — WebSocket connections to /bitrix/subws/ should appear.

Auto-Start via systemd

Create /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 

Start it: systemctl enable bitrix-push && systemctl start bitrix-push.

What’s Included in Turnkey Setup

  • Audit of current server and Bitrix configuration
  • Installation of Node.js LTS and the bitrix-push-server package
  • Creation of a configuration file with a unique security key
  • Configuration of nginx for WebSocket proxying (HTTP and HTTPS)
  • Integration of the pull module in the Bitrix admin panel
  • Setup of auto-start via systemd
  • Testing of WebSocket connections and notifications
  • Delivery of documentation and access details

Common Mistakes When Setting Up the Push Server

  • Security key mismatch between config and Bitrix settings
  • Firewall blocking ports 8893/8894
  • Missing mod_proxy_wstunnel module in nginx
  • Incorrect public path (must end with /bitrix/)
  • Using an outdated Node.js version (below 18)

Comparison: WebSocket vs Long Polling

Parameter WebSocket Long Polling
Delivery latency 100–500 ms 20–30 sec
CPU load Low High (constant HTTP requests)
Memory usage for 5000 connections ~200 MB ~500 MB
Setup complexity Medium (requires nginx) Low (works out of the box)

Our Work Process

  1. Analysis — we study your current architecture and load.
  2. Design — we determine the optimal configuration (ports, keys, nginx).
  3. Deployment — we install and configure the Push server.
  4. Testing — we verify all real-time scenarios (chats, notifications, cart).
  5. Documentation — we deliver final configs and instructions.

Estimated Timelines and Cost

Setup takes from 1 to 3 business days depending on infrastructure complexity. Cost is determined after analysis of your project. Our team has 10+ years of experience configuring Bitrix and 40+ successful projects. The price includes a 14-day warranty on operation.

For more on WebSocket technology, see Wikipedia. Order a turnkey Push server setup — get a free consultation and project assessment.