שרת Push & Pull של Bitrix: התקנה ואופטימיזציה

האם ההתראות שלכם ב-Bitrix24 מתעכבות או לא מגיעות כלל? הסיבה היא שרת Push & Pull לא מוגדר, שמאלץ את המערכת לעבוד דרך Long Polling ולהאט. אנחנו מגדירים Push & Pull במפתח מלא: מתקינים Node.js, משלבים את מודול ה-pull ובודקים חיבורי WebSocket. הצוות שלנו מבטיח פעילות יציבה ותמיכה מתמשכת, כך שההתראות נשלחות מיידית וללא תקלות.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
שרת Push & Pull של Bitrix: התקנה ואופטימיזציה
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

שרת Push & Pull של Bitrix: התקנה ואופטימיזציה

כשהודעות על משימות חדשות, הודעות או שינויי סטטוס הזמנות לא מגיעות ב-Bitrix24, האשם הוא כמעט תמיד שרת Push & Pull שהוגדר בצורה לא נכונה.

בלעדיו, המערכת משתמשת ב-Long Polling, מה שגורם לעיכובים של 30+ שניות ולעומס נוסף על השרת. אנחנו לוקחים על עצמנו את התצורה המלאה של רכיב זה: מהתקנת Node.js ועד אינטגרציה עם מודול ה-pull ובדיקת חיבור WebSocket. צרו קשר להערכת פרויקט.

איך Push & Pull עובד: ארכיטקטורה ורכיבים

שרת ה-Push הוא תהליך Node.js נפרד שמנהל חיבורי WebSocket קבועים עם דפדפני המשתמשים. ה-backend של PHP שולח הודעות לשרת ה-Push דרך HTTP, אשר משדר אותן לכל הלקוחות המחוברים. רכיבים:

רכיב מטרה
Node.js (שרת Push) מנהל חיבורי WebSocket ומשדר הודעות
מודול push.sender (PHP) API לשליחת הודעות push מ-Bitrix
מודול pull (JS) הרשמה בצד הלקוח להודעות בדפדפן

למה WebSocket עדיף על Long Polling

WebSocket מספק תקשורת דו-כיוונית בזמן אמת ללא בקשות HTTP חוזרות. בבדיקות, הוא מהיר פי 2–3 מ-Long Polling במהירות המסירה ומפחית את עומס המעבד בעד 60%. עבור חנויות מקוונות, זה קריטי: הודעת שינוי סטטוס הזמנה מגיעה מיידית, לא אחרי 30 שניות. ב-5000 חיבורים מקבילים, WebSocket משתמש ב-60% פחות זיכרון מ-Long Polling, וחוסך משמעותית במשאבי שרת. לפי תיעוד Bitrix, יישום WebSocket (websockets) ב-Bitrix יכול להפחית את עלויות תשתית השרת בעד 30%.

איך להגדיר את שרת ה-Push תוך שעה

התקנת Node.js LTS וחבילת bitrix-push-server אורכת לא יותר מ-15 דקות. התצורה אורכת עוד 10 דקות, הגדרת nginx 5 דקות. הזמן הנותר מוקדש לאינטגרציה עם Bitrix ולבדיקות. במקרים מורכבים (למשל, clustering), התהליך עשוי להימשך עד 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. דוגמה לקובץ תצורה curl -fsSL https://deb.nodesource.com/setup_20.x | bash - apt-get install -y nodejs node --version # v20.x.x npm --version :

{
  "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"
  }
}

/etc/bitrix/push-server.json הוא מחרוזת אקראית ארוכה. השתמשו באותו מפתח בהגדרות מודול ה-Push ב-Bitrix.

הגדרת 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 ב-Bitrix

בממשק הניהול: הגדרות → הגדרות מוצר → הגדרות מודול → Push and Pull. ציינו:

  • נתיב ציבורי: { "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" } }
  • נתיב פרטי: 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; }
  • מפתח חתימה: אותו https://yoursite.ru/bitrix/

לאחר השמירה, בדקו בדפדפן (DevTools → Network) — חיבורי WebSocket ל-http://127.0.0.1:8893/bitrix/ אמורים להופיע.

הפעלה אוטומטית דרך systemd

צרו SECRET_KEY_HERE:

[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

הפעילו אותו: /bitrix/subws/.

מה כלול בהתקנה כוללת

  • ביקורת על השרת הנוכחי ותצורת Bitrix
  • התקנת Node.js LTS וחבילת bitrix-push-server
  • יצירת קובץ תצורה עם מפתח אבטחה ייחודי
  • הגדרת nginx לפרוקסי WebSocket (HTTP ו-HTTPS)
  • אינטגרציה של מודול /etc/systemd/system/bitrix-push.service בלוח הניהול של Bitrix
  • הגדרת הפעלה אוטומטית דרך systemd
  • בדיקת חיבורי WebSocket והודעות
  • מסירת תיעוד ופרטי גישה

טעויות נפוצות בהגדרת שרת ה-Push

  • אי-התאמה של מפתח האבטחה בין התצורה להגדרות Bitrix
  • חומת אש שחוסמת פורטים 8893/8894
  • מודול [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 חסר ב-nginx
  • נתיב ציבורי שגוי (חייב להסתיים ב-systemctl enable bitrix-push && systemctl start bitrix-push)
  • שימוש בגרסת Node.js מיושנת (מתחת ל-18)

השוואה: WebSocket לעומת Long Polling

פרמטר WebSocket Long Polling
זמן השהיה במסירה 100–500 אלפיות השנייה 20–30 שניות
עומס מעבד נמוך גבוה (בקשות HTTP קבועות)
שימוש בזיכרון עבור 5000 חיבורים ~200 MB ~500 MB
מורכבות ההתקנה בינונית (דורש nginx) נמוכה (עובד ישירות)

תהליך העבודה שלנו

  1. ניתוח — אנו לומדים את הארכיטקטורה והעומס הנוכחיים שלכם.
  2. תכנון — אנו קובעים את התצורה האופטימלית (פורטים, מפתחות, nginx).
  3. פריסה — אנו מתקינים ומגדירים את שרת ה-Push.
  4. בדיקות — אנו מוודאים את כל התרחישים בזמן אמת (צ'אטים, הודעות, עגלה).
  5. תיעוד — אנו מוסרים תצורות סופיות והוראות.

לוחות זמנים ועלות משוערים

ההתקנה אורכת בין יום ל-3 ימי עסקים, תלוי במורכבות התשתית. העלות נקבעת לאחר ניתוח הפרויקט שלכם. לצוות שלנו יש ניסיון של 10+ שנים בהגדרת Bitrix ו-40+ פרויקטים מוצלחים. המחיר כולל אחריות של 14 יום על התפעול.

לפרטים נוספים על טכנולוגיית WebSocket, ראו ויקיפדיה. הזמינו התקנת שרת Push כוללת — קבלו ייעוץ והערכת פרויקט.