Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Tutorial zur Nginx-Reverse-Proxy-Websocket-Konfiguration, um Echtzeitkommunikation zu erreichen

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

WBOY
WBOYOriginal
2023-07-04 08:19:361722Durchsuche

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
  2. Ändern Sie die Nginx-Konfigurationsdatei
    Verwenden Sie einen Texteditor, um die Nginx-Konfigurationsdatei zu öffnen, die sich normalerweise unter /etc/nginx/nginx befindet .conf oder /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";
    }
    }

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

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

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

    sudo service nginx restart
  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);
    };
  3. In der obigen Konfiguration definieren wir einen Standort mit dem Namen websocket und leiten die Anfrage an einen Standort mit dem Namen backend Backend-Server weiter. Beachten Sie, dass yourdomain.com und backend durch 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: 🎜🎜rrreee🎜Fü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äß. 🎜🎜Zusammenfassung🎜Durch 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!

Stellungnahme:
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