Tutorial zur Nginx-Reverse-Proxy-Websocket-Konfiguration, um Echtzeitkommunikation zu erreichen

WBOY
Freigeben: 2023-07-04 08:19:36
Original
1623 Leute haben es durchsucht

Nginx-Reverse-Proxy-Websocket-Konfigurations-Tutorial zur Erzielung einer Echtzeitkommunikation

Websocket ist ein Protokoll, das auf langen Verbindungen basiert und eine Echtzeitkommunikation ermöglichen kann. In Kombination mit der Funktion des Nginx-Reverse-Proxys können Websocket-Anfragen besser verwaltet und verteilt werden. In diesem Artikel wird erläutert, wie Sie den Nginx-Reverse-Proxy konfigurieren, um die Websocket-Echtzeitkommunikation zu implementieren.

  1. Bestätigen Sie, dass Nginx installiert ist.
    Stellen Sie zunächst sicher, dass Nginx auf dem Server installiert ist. Wenn es nicht installiert ist, können Sie den folgenden Befehl verwenden, um es zu installieren:

    sudo apt-get update sudo apt-get install nginx
    Nach dem Login kopieren
  2. Ändern Sie die Nginx-Konfigurationsdatei
    Verwenden Sie einen Texteditor, um die Nginx-Konfigurationsdatei zu öffnen, die sich normalerweise unter/etc/nginx/nginx befindet .confoder/etc/nginx/conf.d/default.conf. Ändern Sie es gemäß dem folgenden Beispiel:/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。按照下面的示例进行修改:

    server { listen 80; server_name yourdomain.com; location /websocket { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
    Nach dem Login kopieren

    在上述配置中,我们定义了一个名为websocket的位置(location),并将请求代理到名为backend的后端服务器。注意yourdomain.combackend应该替换为你自己的域名和后端服务器地址。

此外,我们还设置了两个代理请求头 Upgrade 和 Connection,这是为了使 Nginx 能够正确处理 Websocket 连接。

  1. 重启 Nginx
    完成配置文件的修改后,保存并退出文本编辑器。然后使用以下命令重启 Nginx:

    sudo service nginx restart
    Nach dem Login kopieren
  2. 测试Websocket连接
    现在你可以使用任何支持 Websocket 协议的客户端应用程序(如浏览器或终端工具)来测试你的 Websocket 服务器。假设你的域名是yourdomain.com
    const socket = new WebSocket('ws://yourdomain.com/websocket'); socket.onopen = () => { console.log('连接已建立'); }; socket.onmessage = (event) => { console.log('收到消息:', event.data); }; socket.onclose = () => { console.log('连接已关闭'); }; socket.onerror = (error) => { console.error('发生错误:', error); };
    Nach dem Login kopieren
  3. In der obigen Konfiguration definieren wir einen Standort mit dem Namen websocketund leiten die Anfrage an einen Standort mit dem Namen backendBackend-Server weiter. Beachten Sie, dass yourdomain.comund backenddurch Ihren eigenen Domänennamen und die Backend-Serveradresse ersetzt werden sollten.

Darüber hinaus legen wir auch zwei Proxy-Anfrageheader fest, Upgrade und Connection, damit Nginx Websocket-Verbindungen korrekt verarbeiten kann.

    Starten Sie Nginx neu.Nachdem Sie die Änderung der Konfigurationsdatei abgeschlossen haben, speichern Sie den Texteditor und beenden Sie ihn. Starten Sie dann Nginx mit dem folgenden Befehl neu: rrreee Websocket-Verbindung testen Jetzt können Sie jede Client-Anwendung verwenden, die das Websocket-Protokoll unterstützt (z. B. einen Browser oder ein Terminal-Tool), um Ihren Websocket-Server zu testen. Angenommen, Ihr Domainname lautet yourdomain.com, verwenden Sie zum Testen den folgenden Code: rrreeeFügen Sie den obigen Code ein und führen Sie ihn in einer JavaScript-fähigen Umgebung aus, z. B. in der Entwicklertools-Konsole des Browsers oder Mit Node.js ausführen. Wenn Sie das Verbindungsprotokoll sehen können, funktionieren Ihre Nginx-Konfiguration und Ihr Websocket-Server ordnungsgemäß. ZusammenfassungDurch die Konfiguration des Nginx-Reverse-Proxys können wir Websocket-Anfragen an den Backend-Server weiterleiten, um Echtzeit-Kommunikationsfunktionen zu erreichen. In diesem Artikel wird erläutert, wie Sie Nginx konfigurieren und anschließend JavaScript-Code zum Testen von Websocket-Verbindungen verwenden. Ich hoffe, dass dieser Artikel Ihnen hilft, den Nginx-Reverse-Proxy-Websocket zu verstehen und anzuwenden.

Das obige ist der detaillierte Inhalt vonTutorial zur Nginx-Reverse-Proxy-Websocket-Konfiguration, um Echtzeitkommunikation zu erreichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!