フロントエンド テクノロジの継続的な開発に伴い、最新の Web 開発では、Web アプリケーションの構築に Node.js がよく使用されます。 Node.js を使用して Web アプリケーションを開発する人にとって、「Nginx」は Node.js で使用できる非常に強力で人気のある Web サーバーであるため、非常に馴染みのある一般的な単語です。この記事では、Web アプリケーションの提供元をより詳細に制御できるように、Nginx を使用して Node.js アプリケーションをデプロイする方法について詳しく説明します。
Nginx とは
Nginx は、さまざまな Web サイトに適した人気のある Web サーバーであり、多くの高負荷 Web サイトにも存在します。高速、低リソース使用量が特徴で、大量の接続要求を処理できます。 Nginx の構成は非常に柔軟で、必要に応じて変更できます。 Nginx はリバース プロキシ サーバーとして機能し、静的ファイル、リダイレクト、負荷分散などを処理できます。
Node.js とは
Node.js は、高速、スケーラブル、効率的な Web アプリケーションを構築するための Chrome V8 JavaScript エンジン上に構築されたプラットフォームです。 Node.js はイベント駆動型のノンブロッキング I/O モデルを使用するため、多数の接続リクエストを処理し、高負荷のシナリオに対処できます。 Node.js は、リアルタイム Web アプリケーションや API サーバーの作成に最適です。これは、Web 開発コミュニティで広く使用されているテクノロジとなっているオープン ソース ソフトウェアです。
Node.js アプリケーションを Nginx にデプロイする方法
Node.js アプリケーションを Nginx にデプロイするには、次の手順を実行する必要があります:
Node.js アプリケーションをデプロイする前に、サーバーに Node.js と Nginx をインストールする必要があります。
Ubuntu に Node.js をインストール:
~$curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
~$ sudo apt-get install -y nodejs
Ubuntu に Nginx をインストールします:
~$ sudo apt update
~$ sudo apt install nginx
例として Node.js アプリケーションを作成します:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(3000, ' 127.0. 0.1');
console.log('http://127.0.0.1:3000/ で実行されているサーバー');
hello.js として保存
アプリケーションの開始
node hello.js
Nginx デフォルトでは、 /etc/nginx/sites-available/default ファイルは、各仮想ホストの構成を設定するために使用されます。このファイルを編集して、Nginx サーバーから Node.js アプリケーションに接続要求を転送するリバース プロキシ サーバーを追加するように構成できます。
デフォルトのファイルを編集します
sudo nano /etc/nginx/sites-available/default
ファイルを次の内容に変更します:
server {
listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }
}
この例では、ポート 80 でリッスンし、リクエストを Node.js アプリケーションのポート 3000 に転送するようにサーバーを構成します。
設定を有効にするには、Nginx を再起動します。
sudo service nginx restart
これで、アプリケーションに直接アクセスできるようになります。
http://example.com/
Node.js プログラムの Nginx デプロイメントが完了しました。これで、Node.js をリバース プロキシ サーバーとして使用し、 Nginx Node.js アプリケーションを実稼働環境にデプロイします。 Nginx と Node.js についてさらに学ぶことで、Web 開発とサーバー管理のスキルをよりよく習得できます。
以上がNodejs サービス用に nginx をデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。