ホームページ 運用・保守 Nginx NGINX と PM2: VPS サーバーのパフォーマンスと安定性を向上させる

NGINX と PM2: VPS サーバーのパフォーマンスと安定性を向上させる

Sep 28, 2023 pm 04:00 PM
nginx パフォーマンス pm

NGINX和PM2: 提升VPS服务器的性能和稳定性

NGINX と PM2: VPS サーバーのパフォーマンスと安定性を向上させるには、特定のコード サンプルが必要です

はじめに:
現代のインターネット時代では、サーバーのパフォーマンスと安定性 Web サイトが適切に機能するために不可欠です。大量の同時リクエストを処理する場合、サーバーのパフォーマンスと安定性はユーザー エクスペリエンスに直接影響します。サーバーのパフォーマンスと安定性を向上させるには、NGINX と PM2 の 2 つの非常に便利なツールです。 NGINX は高性能 Web サーバーおよびリバース プロキシ サーバーであり、PM2 はプロセス管理ツールです。この記事では、NGINX と PM2 を使用して VPS サーバーのパフォーマンスと安定性を向上させる方法を紹介し、いくつかの具体的なコード例を示します。

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

  1. NGINX のインストール
    NGINX を VPS サーバーにインストールするのは非常に簡単です。まず、サーバーのパッケージ リストを更新し、次に apt-get コマンドを使用して NGINX をインストールします。
sudo apt-get update
sudo apt-get install nginx
ログイン後にコピー
  1. NGINX の構成
    インストールが完了したら、NGINX で基本的な構成を実行する必要があります。これには主に、NGINX のデフォルト構成ファイルの変更と仮想ホスト構成ファイルの作成が含まれます。
  • デフォルトの構成ファイルを変更する
    デフォルトの構成ファイルは、/etc/nginx/nginx.conf にあります。任意のテキスト エディタを使用して開いて変更できます。サーバー ハードウェアの構成に応じて、worker_processes や worker_connections などの一部のパラメーターを変更して、NGINX のパフォーマンスを最適化できます。
  • 仮想ホスト構成ファイルの作成
    仮想ホスト構成ファイルは、/etc/nginx/sites-available/ ディレクトリにあります。新しいプロファイルを作成して、Web サイトごとに独立した仮想ホストを作成できます。次に、仮想ホスト構成ファイルの例を示します。
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;
    }
}
ログイン後にコピー
ログイン後にコピー

上記の例では、example.com からの要求をローカル ポート 3000 に転送するように基本的なリバース プロキシ サーバーを構成します。

  1. NGINX を起動して構成を確認する
    構成が完了したら、NGINX を起動し、ブラウザを使用して構成が有効かどうかを確認する必要があります。
sudo service nginx start
ログイン後にコピー

ブラウザを開き、設定されたドメイン名または IP アドレスにアクセスします。すべてが正常であれば、NGINX のデフォルトのようこそページが表示されます。

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

  1. PM2 のインストール
    npm を使用して PM2 をグローバルにインストールするのは非常に簡単です。
sudo npm install -g pm2
ログイン後にコピー
  1. アプリケーションの起動と管理
    PM2 を使用してアプリケーションを起動および管理すると非常に便利です。プロジェクトのルート ディレクトリで、次のコマンドを使用してアプリケーションを起動します:
pm2 start app.js
ログイン後にコピー
ログイン後にコピー

次のコマンドを使用して、アプリケーション上で他の操作を実行することもできます:

    #アプリケーション一覧の表示
  • pm2 list
    ログイン後にコピー
    アプリケーションの停止
  • pm2 stop app
    ログイン後にコピー
    アプリケーションの再起動
  • pm2 restart app
    ログイン後にコピー
3. 組み合わせNGINX と PM2 の使用

    NGINX リバース プロキシを構成する
  1. NGINX の仮想ホスト構成ファイルで、HTTP リクエストを PM2 で実行されているアプリケーションに転送します。
  2. 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;
        }
    }
    ログイン後にコピー
    ログイン後にコピー
    PM2 を使用してアプリケーションを管理する
  1. プロジェクトのルート ディレクトリで、PM2 を使用してアプリケーションを起動します。
  2. pm2 start app.js
    ログイン後にコピー
    ログイン後にコピー
    上記のコードにより、ポート 3000 でリッスンする Node.js アプリケーションが開始されます。

      テストと検証
    1. 上記の構成と起動により、NGINX が受信した HTTP リクエストが PM2 で実行されているアプリケーションに転送されます。ブラウザを開き、設定されたドメイン名または IP アドレスにアクセスすると、正常であればアプリケーション ページが表示されます。
    結論:

    NGINX と PM2 を組み合わせることで、VPS サーバーのパフォーマンスと安定性を向上させることができます。 NGINX をリバース プロキシ サーバーとして使用すると、同時リクエストの処理能力が向上し、PM2 を使用すると、アプリケーションの起動と監視を簡単に管理できます。この記事のコード例が、NGINX と PM2 を使用してサーバーのパフォーマンスと安定性を向上させる読者にとって役立つことを願っています。

    総単語数: 634 単語

    以上がNGINX と PM2: VPS サーバーのパフォーマンスと安定性を向上させるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

さまざまな Java フレームワークのパフォーマンスの比較 さまざまな Java フレームワークのパフォーマンスの比較 Jun 05, 2024 pm 07:14 PM

さまざまな Java フレームワークのパフォーマンス比較: REST API リクエスト処理: Vert.x が最高で、リクエスト レートは SpringBoot の 2 倍、Dropwizard の 3 倍です。データベース クエリ: SpringBoot の HibernateORM は Vert.x や Dropwizard の ORM よりも優れています。キャッシュ操作: Vert.x の Hazelcast クライアントは、SpringBoot や Dropwizard のキャッシュ メカニズムよりも優れています。適切なフレームワーク: アプリケーションの要件に応じて選択します。Vert.x は高パフォーマンスの Web サービスに適しており、SpringBoot はデータ集約型のアプリケーションに適しており、Dropwizard はマイクロサービス アーキテクチャに適しています。

C++ でマルチスレッド プログラムのパフォーマンスを最適化するにはどうすればよいですか? C++ でマルチスレッド プログラムのパフォーマンスを最適化するにはどうすればよいですか? Jun 05, 2024 pm 02:04 PM

C++ マルチスレッドのパフォーマンスを最適化するための効果的な手法には、リソースの競合を避けるためにスレッドの数を制限することが含まれます。競合を軽減するには、軽量のミューテックス ロックを使用します。ロックの範囲を最適化し、待ち時間を最小限に抑えます。ロックフリーのデータ構造を使用して同時実行性を向上させます。ビジー待機を回避し、イベントを通じてリソースの可用性をスレッドに通知します。

C++ と他の言語のパフォーマンスの比較 C++ と他の言語のパフォーマンスの比較 Jun 01, 2024 pm 10:04 PM

高パフォーマンスのアプリケーションを開発する場合、C++ は、特にマイクロベンチマークで他の言語よりも優れたパフォーマンスを発揮します。マクロベンチマークでは、Java や C# などの他の言語の利便性と最適化メカニズムの方がパフォーマンスが優れている場合があります。実際のケースでは、C++ は画像処理、数値計算、ゲーム開発で優れたパフォーマンスを発揮し、メモリ管理とハードウェア アクセスを直接制御することで明らかなパフォーマンス上の利点をもたらします。

Golang の乱数ジェネレーターのパフォーマンスはどのくらいですか? Golang の乱数ジェネレーターのパフォーマンスはどのくらいですか? Jun 01, 2024 pm 09:15 PM

Go で乱数を生成する最適な方法は、アプリケーションに必要なセキュリティのレベルによって異なります。低セキュリティ: math/rand パッケージを使用して、ほとんどのアプリケーションに適した疑似乱数を生成します。高いセキュリティ: crypto/rand パッケージを使用して、より強力なランダム性を必要とするアプリケーションに適した、暗号的に安全なランダム バイトを生成します。

Java フレームワークのパフォーマンス比較 Java フレームワークのパフォーマンス比較 Jun 04, 2024 pm 03:56 PM

ベンチマークによると、小規模で高性能なアプリケーションの場合、Quarkus (高速起動、低メモリ) または Micronaut (TechEmpower に優れた) が理想的な選択肢です。 SpringBoot は大規模なフルスタック アプリケーションに適していますが、起動時間とメモリ使用量が若干遅くなります。

WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? Apr 01, 2025 pm 03:00 PM

WordPressサイトファイルアクセスが制限されています:最近.txtファイルにアクセスできない理由のトラブルシューティング。一部のユーザーは、ミニプログラムのビジネスドメイン名を構成する際に問題に遭遇しました:�...

同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? 同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? Apr 01, 2025 pm 03:15 PM

同じシステムで複数のPHPバージョンを同時に実行することは、特に異なるプロジェクトがPHPの異なるバージョンに依存する場合、一般的な要件です。同じようになる方法...

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

See all articles