ホームページ  >  記事  >  運用・保守  >  NGINX と PM2: 効率的な VPS 環境の構築

NGINX と PM2: 効率的な VPS 環境の構築

王林
王林オリジナル
2023-09-26 15:45:171211ブラウズ

NGINX与PM2: 构建高效的VPS环境

NGINX と PM2: 効率的な VPS 環境の構築には特定のコード サンプルが必要です

インターネットの急速な発展に伴い、ますます多くの Web サイトやアプリケーションがインターネット上に展開されています。仮想プライベートサーバー (VPS)。これらのアプリケーションの効率的な運用と信頼性を確保するには、VPS 環境を構築および管理するための適切なツールとテクノロジーを選択する必要があります。

この記事では、NGINX と PM2 という 2 つの主要なツールに焦点を当てます。 NGINX は高性能 Web サーバーおよびリバース プロキシ サーバーであり、PM2 は強力なプロセス マネージャーです。これら 2 つのツールを使用することで、安定した信頼性の高いアプリケーション サービスを提供する効率的な VPS 環境を構築できます。

まず、NGINX について理解しましょう。 NGINX は、オープンソースの高性能 HTTP サーバーおよびリバース プロキシ サーバーです。多数の同時リクエストを効率的に処理し、静的リソースに対して高速な応答を提供できます。さらに、NGINX には、リクエストをさまざまなバックエンド サーバーに転送できる強力なロード バランシング機能とリバース プロキシ機能もあります。これにより、高可用性と拡張性を簡単に実現できます。

次に、NGINX をリバース プロキシとして使用する構成例を示します。

server {
   listen 80;
   server_name example.com;

   location / {
      proxy_pass http://localhost:3000;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

上記の構成例では、example.com からのすべてのリクエストを、アプリケーションでローカルに実行されているポート 3000 に転送します。同時に、関連情報を渡すための HTTP ヘッダーもいくつか設定しました。

次にPM2について紹介します。 PM2 は、Node.js アプリケーションの管理に使用できるオープンソースのプロセス マネージャーです。アプリケーションの状態を監視し、障害が発生した場合は自動的に回復します。さらに、PM2 には負荷分散機能とクラスタリング機能があり、複数の同時リクエストを簡単に処理できます。

PM2 を使用して Node.js アプリケーションを起動および管理するサンプル コマンドは次のとおりです:

pm2 start app.js -i max

上記のサンプル コマンドでは、PM2 を使用して app.js.js アプリケーションという名前のノードを起動します。 、 -i パラメータを使用してプロセス数を最大値に設定します。これにより、使用可能なプロセッサ コアの数に基づいてプロセスの数が自動的に設定されます。

NGINX と PM2 を使用することで、効率的な VPS 環境を構築できます。以下は、PM2 で NGINX を使用する方法を示す完全なサンプル構成ファイルです:

http {
   upstream app_servers {
      server localhost:3000;
      server localhost:3001;
      server localhost:3002;
   }

   server {
      listen 80;
      server_name example.com;

      location / {
         proxy_pass http://app_servers;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
   }
}

上記のサンプル構成ファイルでは、異なるポート上の複数の Node.js アプリケーションを含む app_servers という負荷分散グループを使用しました。 。 NGINX は、負荷分散アルゴリズムに基づいて、利用可能なバックエンド サーバーにリクエストを自動的に転送します。

次に、PM2 を使用してこれらの Node.js アプリケーションを起動および管理できます。

pm2 start app.js -i 3

上記のコマンド例では、PM2 を使用してこれらのアプリケーションを処理する 3 つのプロセスを起動します。 PM2 はこれらのプロセスを自動的に監視し、障害が発生した場合には自動的に再起動します。

まとめると、NGINX と PM2 を使用すると効率的な VPS 環境を構築できます。 NGINX は高性能 Web サーバーおよびリバース プロキシ機能を提供し、PM2 は強力なプロセス管理および障害回復機能を提供します。これら 2 つのツールを併用することで、安定した信頼性の高いアプリケーション サービスを簡単に構築および管理できます。

実際のアプリケーションでは、特定のニーズに応じてさらに構成や最適化を実行することもできます。合理的な負荷分散とクラスター構成により、より高い可用性とパフォーマンスを実現できます。また、システムを安定して稼働させるためには、定期的な監視やログ分析も重要です。

したがって、この記事で提供される NGINX と PM2 のコード例が、読者が効率的な VPS 環境を構築し、より良いアプリケーション サービス エクスペリエンスを得るのに役立つことを願っています。

以上がNGINX と PM2: 効率的な VPS 環境の構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。