概要
現代の Web アプリケーション開発では、Nginx と Node.js の 2 つの非常に重要なツールです。高性能 Web サーバーとして、Nginx は主に HTTP リクエストと静的ファイルの処理に使用されます。アクセス; ノード.js は、高パフォーマンスの Web アプリケーションやサーバーサイド API を構築するために広く使用されており、優れた非同期、ノンブロッキング IO モデルと豊富なサードパーティ モジュール エコシステムで好まれています。
この記事では、Linux サーバーに Nginx と Node.js を同時にデプロイし、Nginx のリバース プロキシ機能を使用して Web アプリケーションのパフォーマンスと信頼性を向上させる方法を紹介します。効率的で安定したWebサービスを実現します。
準備
このチュートリアルを完了するには、Ubuntu 18.04 LTS オペレーティング システムを実行しているサーバーが必要です。最新バージョンの Node.js と Nginx もインストールする必要があります。
Node.js のインストール
まず、サーバーに Node.js をインストールする必要があります。 nvm (Node Version Manager) を使用して Node.js バージョンを管理します。これにより、異なる Node.js バージョンのインストールと切り替えが簡単になります。
まず、curl コマンドを使用して nvm インストール スクリプトをダウンロードする必要があります:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.36.0/install.sh | bash
次に、次のコマンドを実行して、構成の変更を適用します:
source ~/.bashrc
これで、nvm がサーバーにインストールされました。
次のコマンドを使用して、利用可能な Node.js バージョンを確認できます:
nvm ls-remote
次に、使用する Node.js バージョンを選択します。インストールする Node.js のバージョンを指定し、次のコマンドを使用してインストールします。
nvm install 14.16.1 // 这里我们选择的是 v14.16.1 版本
これで、Node.js が正常にインストールされました。
Nginx のインストール
次に、HTTP リクエストを処理し、静的ファイルを読み取るために、Nginx サーバーをインストールする必要があります。 Ubuntu 18.04 では、次のコマンドを使用して Nginx をインストールできます:
sudo apt-get update sudo apt-get install nginx
インストールが完了したら、次のコマンドを使用して Nginx サービスを開始できます:
sudo systemctl start nginx
その後、次のコマンドを使用して、Nginx サービスのステータスを確認します:
sudo systemctl status nginx
Nginx サービスが正常に開始された場合、ブラウザからサーバーのパブリック IP アドレスにアクセスでき、Nginx のデフォルトのようこそページが表示されるはずです。 。
Nginx リバース プロキシの構成
これで、Nginx と Node.js が正常にインストールされました。次に、Nginx のリバース プロキシ機能を使用して、外部 HTTP リクエストを Node.js サーバー上の指定されたポート番号に転送します。
Nginx 構成ファイル /etc/nginx/nginx.conf を編集し、http セグメントでサーバー ノードを見つけて、次のコードをit :
upstream nodejs_backend { server 127.0.0.1:3000; # 这里的端口号需要和我们 Node.js 端口号一致 } server { listen 80 default_server; listen [::]:80 default_server; server_name _; location / { proxy_pass http://nodejs_backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
ここでは、Nginx のアップストリーム モジュールを使用して、nodejs_backend という名前のアップストリーム サーバーを定義します。これは、後で実行する Node.js サーバーのポート番号である 127.0.0.1:3000 を指します。
次に、default_server という名前の仮想ホストを定義します。これは、ポート 80 でリッスンし、HTTP リクエストを nodejs_backend に転送します。 proxy_set_header パラメータのうち 3 つは、リクエストを転送するための追加情報を設定するために使用されます。
上記の手順を完了したら、Nginx サービスを再起動して有効にする必要があります:
sudo systemctl restart nginx
これで、Nginx のリバース プロキシ機能が正常に構成され、Node.js サーバー上でサービスを開始して Nginx からのリクエストを受信する準備が整いました。
app.js というファイルを作成し、次のコードを使用して単純な http サーバーを起動します:
const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200); res.end('Hello, World!'); }); server.listen(3000, () => { console.log('Server running on http://127.0.0.1:3000/'); });
次に、次のコマンドを使用して Node.js アプリを起動します:
node app.js
正常に実行された後、ブラウザからサーバーのパブリック IP アドレスにアクセスし、Node.js アプリケーションが「Hello, World!」メッセージを出力するのを確認できます。
概要
おめでとうございます。Linux サーバーに Nginx と Node.js を同時にデプロイするチュートリアルが完了しました。 Nginx のリバース プロキシ機能を使用して HTTP リクエストを転送することで、Node.js で Web アプリケーションと API を作成し、Nginx を使用して静的ファイルの処理と負荷分散を行うことができるため、Web アプリケーションのパフォーマンスと信頼性が向上します。
以上がnginxのnodejsをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。