ホームページ >運用・保守 >Nginx >NGINX と PM2 を使用して VPS サーバーの応答時間とスループットを最適化する方法

NGINX と PM2 を使用して VPS サーバーの応答時間とスループットを最適化する方法

PHPz
PHPzオリジナル
2023-09-27 08:45:151340ブラウズ

NGINX と PM2 を使用して VPS サーバーの応答時間とスループットを最適化する方法

次は、NGINX と PM2 を使用して VPS サーバーの応答時間とスループットを最適化する方法に関する記事です:

タイトル: NGINX と PM2 の使用方法VPS サーバーの応答時間とスループットを最適化する

概要:
現代のインターネット アプリケーションのシナリオでは、サーバーの応答時間とスループットを向上させる方法は、すべての開発者が直面する必要がある課題です。 NGINX と PM2 は、サーバーのパフォーマンスを簡単に最適化できる 2 つの強力なツールです。この記事では、NGINX と PM2 を使用して VPS サーバーの応答時間とスループットを最適化する方法と、具体的なコード例を詳しく紹介します。

1. NGINX のインストールと構成:

  1. NGINX のインストール:
    NGINX を VPS サーバーにインストールするのは非常に簡単です。パッケージ管理ツール (たとえば、 apt、yum など) をインストールしてください。具体的なインストール手順については、NGINX 公式ドキュメントを参照してください。
  2. NGINX の構成:
    NGINX 構成ファイルは /etc/nginx/nginx.conf にあり、このファイルでサーバーのパフォーマンスを調整できます。

    • worker_processes: NGINX によって使用されるワーカー プロセスの数を指定します。通常は、サーバーの CPU コアの数に設定することをお勧めします。
    • worker_connections: 各ワーカー プロセスが処理できる同時接続の数を指定します。この値はサーバー構成に応じて調整できますが、通常はサポートされている最大接続数に設定することをお勧めします。
    • sendfile: このオプションをオンにすると、ファイル転送の効率が向上します。
    • keepalive_timeout: 長時間接続のタイムアウトを指定します。これにより、クライアントとサーバー間の接続の確立と終了のコストを削減できます。

    サンプル構成ファイルは次のとおりです:

     worker_processes  4;
     
     events {
         worker_connections  1024;
     }
     
     http {
         ...
         sendfile            on;
         keepalive_timeout   65;
         ...
     }

2. PM2 のインストールと構成:

  1. インストール PM2:
    PM2 は、Node.js アプリケーションを管理するためのツールであり、負荷分散や自動再起動などの機能の実現に役立ちます。次のコマンドを使用して PM2 をインストールします:

     npm install pm2 -g
  2. PM2 を構成します:
    PM2 の構成ファイルは、economy.config.js です。このファイルでは、Node.js を構成できます起動する必要があるアプリケーションのパラメータ。以下は簡単な構成例です。

     module.exports = {
       apps : [{
         name: 'app',
         script: 'app.js',
         instances: 'max',
         exec_mode: 'cluster',
         autorestart: true,
         watch: false,
         max_memory_restart: '1G',
         env: {
           NODE_ENV: 'production'
         }
       }]
     };
    • name: アプリケーション名
    • script: アプリケーション エントリ ファイル パス
    • instances: 開始するインスタンスの数、に設定します。 max は、マシンの CPU コアの数に応じて自動的に割り当てることができます。
    • exec_mode: 実行モード、負荷分散を実現するためにクラスターに設定します。
    • autorestart: 自動再起動を有効にするために true に設定します
    • watch : ファイル変更の監視をオフにするには false に設定します
    • max_memory_restart: 各インスタンスの最大メモリ使用量を設定します。この値を超えると、インスタンスは自動的に再起動されます
    • env: Node.js アプリケーションの環境変数を設定します。

3. NGINX と PM2 の併用:

  1. NGINX の構成リバース プロキシ:
    NGINX をリバース プロキシとして構成し、リクエストを PM2 によって開始された Node.js アプリケーションに転送します。設定例を次に示します。

     server {
         listen   80;
         server_name  example.com;
     
         location / {
             proxy_pass http://localhost: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;
         }
     }
    • listen: サーバーがリッスンするポート番号を指定します。
    • server_name: バインドされたドメイン名または IP アドレスを指定します。
    • location /: 要求された一致ルールとプロキシ構成を指定します。
  2. Node.js アプリケーションを開始します:
    PM2 を使用して Node.js アプリケーションを開始します。起動コマンドの例を次に示します。

     pm2 start ecosystem.config.js

    コマンドの実行後、PM2 はアプリケーションの起動を自動的に完了し、構成ファイル内のパラメータに基づいて負荷分散と自動再起動を実行します。

結論:
この記事では、NGINX と PM2 を使用して VPS サーバーの応答時間とスループットを最適化する方法を紹介します。 NGINX の構成パラメータを適切に調整し、負荷分散と自動再起動に PM2 を使用することで、サーバーのパフォーマンスと安定性を大幅に向上させることができます。この記事が、サーバーの最適化で問題に直面している開発者にとって役立つことを願っています。

以上がNGINX と PM2 を使用して VPS サーバーの応答時間とスループットを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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