nchan: Skalierbarer, flexibler Pub/Sub-Server für das moderne Web
Installation
Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:
- RedHat Enterprise Linux 7, 8, 9 und 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 und Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-nchan
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-nchan
Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:
load_module modules/ngx_nchan_module.so;
Dieses Dokument beschreibt nginx-module-nchan v1.3.8 veröffentlicht am 15. Februar 2026.

Nchan ist ein skalierbarer, flexibler Pub/Sub-Server für das moderne Web, der als Modul für den Nginx Webserver entwickelt wurde. Er kann als eigenständiger Server oder als Schnittstelle zwischen Ihrer Anwendung und Hunderten, Tausenden oder Millionen von aktiven Abonnenten konfiguriert werden. Er kann Nachrichten im Speicher, auf der Festplatte oder über Redis puffern. Alle Verbindungen werden asynchron behandelt und auf beliebig viele Worker-Prozesse verteilt. Er kann auch auf viele Nginx-Server mit Redis skalieren.
Nachrichten werden über HTTP POST-Anfragen oder Websocket an Kanäle veröffentlicht und über Websocket, Long-Polling, EventSource (SSE), altmodisches Intervall-Polling und mehr abonniert.
In einem Webbrowser können Sie Websocket oder EventSource nativ verwenden oder die NchanSubscriber.js Wrapper-Bibliothek nutzen.
Funktionen
- RESTful, HTTP-native API
- Unterstützt Websocket, EventSource (Server-Sent Events), Long-Polling und andere HTTP-basierte Abonnenten
- Pro-Kanal konfigurierbare Nachrichtenpuffer mit Garantien für die Zustellung ohne Wiederholung und ohne Verlust
- Abonnieren Sie Hunderte von Kanälen über eine einzige Abonnentenverbindung
- HTTP-Anforderungs-Callbacks und Hooks für eine einfache Integration
- Introspektion mit Kanalereignissen und URL zur Überwachung von Leistungsstatistiken
- Nutzungskontrolle und Limits für Kanalgruppen
- Schneller, nicht blockierender Shared-Memory-Speicher für lokale Nachrichten und optionaler persistenter Speicher mit Redis
- Horizontal skalierbar mit Redis
- Automatische Fehlertoleranz und hohe Verfügbarkeit mit Redis Cluster
Erste Schritte
Fügen Sie zwei Standorte zu Ihrer Nginx-Konfiguration hinzu:
http {
server {
location = /sub {
nchan_subscriber;
nchan_channel_id $arg_id;
}
location = /pub {
nchan_publisher;
nchan_channel_id $arg_id;
}
}
}
Sie können jetzt Nachrichten an einen Kanal senden, indem Sie Daten an /pub?id=channel_id POSTen und sich anmelden, indem Sie Websocket oder EventSource auf sub/?id=channel_id zeigen.
Abonnenten-Endpunkte
Nchan unterstützt mehrere Abonnententypen:
Websocket
location /sub {
nchan_subscriber websocket;
nchan_channel_id foobar;
}
EventSource
location /sub {
nchan_subscriber eventsource;
nchan_channel_id foobar;
}
Long-Polling
location /sub {
nchan_subscriber longpoll;
nchan_channel_id foobar;
}
Publisher-Endpunkte
location /pub {
nchan_publisher;
nchan_channel_id foobar;
}
Veröffentlichen Sie eine Nachricht:
curl -X POST -d "hello world" http://localhost/pub
Redis-Speicher
Für horizontale Skalierung und persistenten Speicher:
upstream redis_cluster {
nchan_redis_server redis://127.0.0.1:6379;
}
location /sub {
nchan_subscriber;
nchan_channel_id foobar;
nchan_redis_pass redis_cluster;
}
location /pub {
nchan_publisher;
nchan_channel_id foobar;
nchan_redis_pass redis_cluster;
}
Vollständige Dokumentation
Für vollständige Konfigurationsanweisungen und detaillierte Dokumentation besuchen Sie die offizielle Nchan-Dokumentation.
Wichtige Abschnitte in der vollständigen Dokumentation: - Kanal-Multiplexing - Hooks und Callbacks für die Autorisierung - Redis-Cluster-Konfiguration für hohe Verfügbarkeit - Kanalereignisse und Introspektion - Sicherheitsbest Practices
GitHub
Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-nchan.