ホームページ > 運用・保守 > Nginx > リアルタイム通信を実現するための Nginx リバース プロキシ WebSocket 構成

リアルタイム通信を実現するための Nginx リバース プロキシ WebSocket 構成

WBOY
リリース: 2023-07-04 17:37:36
オリジナル
2904 人が閲覧しました

リアルタイム通信を実現するための Nginx リバース プロキシ WebSocket 構成

WebSocket は全二重通信をサポートするネットワーク プロトコルで、クライアントとサーバーの間に永続的な接続を確立してリアルタイム通信を実現できます。 。 Nginx は高性能 Web サーバーおよびリバースプロキシサーバーであり、Nginx のリバースプロキシ構成により、WebSocket リクエストをバックエンドサーバーにプロキシすることで、WebSocket のリアルタイム通信機能を実現します。

Nginx リバース プロキシ WebSocket を構成する方法の例は次のとおりです:

  1. Nginx のインストール
    まず、サーバーに Nginx をインストールする必要があります。パッケージ管理ツール (apt、yum など) を使用してインストールできます。インストールが完了したら、「nginx -v」コマンドを実行して、インストールされている Nginx のバージョンを確認できます。
  2. Nginx の構成
    WebSocket リクエストをバックエンド サーバーに転送できるように、Nginx のリバース プロキシを構成します。 Nginx 構成ファイル (通常はパス「/etc/nginx/nginx.conf」または「/etc/nginx/conf.d/default.conf」の下にあります) を開き、次の構成を追加します:
server {
    listen 80;
    server_name your_server_domain;

    location / {
        proxy_pass http://your_backend_server;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
ログイン後にコピー

このうち、your_server_domain はサーバーのドメイン名または IP アドレス、your_backend_server はバックエンド サーバーのアドレスとポートです。

  1. Nginx の再起動
    構成の完了後、構成を有効にするために Nginx サーバーを再起動する必要があります。次のコマンドを使用して Nginx を再起動できます。
sudo service nginx restart
ログイン後にコピー
  1. バックエンド サーバー
    バックエンド サーバーでは、WebSocket リクエストを処理できるコードを記述する必要があります。ここでは、単純な WebSocket サーバーを作成する例として Node.js を取り上げます。
const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', ws => {
    console.log('New client connected');

    ws.on('message', message => {
        console.log(`Received message: ${message}`);
    });

    ws.on('close', () => {
        console.log('Client disconnected');
    });
});
ログイン後にコピー

上記のコードは、WebSocket サーバーを作成し、新しいクライアントが接続するたびにログを出力し、関連情報をそれぞれ受信して出力します。接続を閉じるとき。

  1. テスト
    これで、WebSocket クライアント ツール (ブラウザ開発者ツール、Postman など) を使用して、WebSocket のリアルタイム通信機能をテストできます。 WebSocket リクエストを Nginx サーバーに送信すると、Nginx はそのリクエストをバックエンド サーバーに転送して処理します。

上記の手順により、Nginx のリバースプロキシの設定と、WebSocket のリアルタイム通信機能の実装に成功しました。

概要: Nginx リバース プロキシ WebSocket 構成では、WebSocket リクエストをバックエンド サーバーにプロキシできるため、リアルタイム通信が可能になります。上記の手順により、WebSocket をサポートするように Nginx を簡単に構成し、WebSocket リクエストを処理するコードをバックエンド サーバーに作成できます。このように、Nginx の高いパフォーマンスと安定性を利用して、リアルタイム通信機能を実現できます。

以上がリアルタイム通信を実現するための Nginx リバース プロキシ WebSocket 構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート