目次
導入
Nginxの基本概念
サーバーブロックの詳細な分析
定義と機能
それがどのように機能するか
逆プロキシの本質
使用の例
基本的な使用法
高度な使用
一般的なエラーとデバッグのヒント
パフォーマンスの最適化とベストプラクティス
要約します
ホームページ 運用・保守 Nginx Advanced Nginx構成:マスタリングサーバーブロックとリバースプロキシ

Advanced Nginx構成:マスタリングサーバーブロックとリバースプロキシ

Apr 06, 2025 am 12:05 AM
リバースプロキシ nginxの設定

nginxの高度な構成は、サーバーブロックとリバースプロキシを介して実装できます。1。サーバーブロックにより、複数のWebサイトを1つの場合に実行することができます。各ブロックは個別に構成されます。 2.逆プロキシは、リクエストをバックエンドサーバーに転送して、負荷分散とキャッシュアクセラレーションを実現します。

Advanced Nginx構成:マスタリングサーバーブロックとリバースプロキシ

導入

インターネットの海では、Nginxは間違いなく破壊不可能な戦艦です。高性能と柔軟性のために、開発者とオペレーションスタッフに愛されています。しかし、どうすればこの軍艦を真にナビゲートし、その最大の可能性を達成することができますか?この記事では、Nginxの高度な構成スキル、特にサーバーブロックとリバースプロキシのアプリケーションについてのより深い議論に導きます。この記事を読むことで、複雑なネットワーク環境で簡単に緩和できるように、洗練された方法でNginxを構成する方法を学びます。

Nginxの基本概念

高性能HTTPサーバーおよびリバースプロキシサーバーとして、NGINXはイベント駆動型、非同期および非ブロッキング処理メカニズムです。これにより、nginxは高い並行リクエストを扱うのに特に優れています。サーバーブロックは、Nginx構成の重要な概念であり、複数のサーバー構成を1つのnginxインスタンスで定義できるため、ドメイン名またはIPアドレスの仮想ホスティング関数を実装できます。 Reverse Proxyは、Nginxを介してクライアントのリクエストをバックエンドサーバーに転送するテクノロジーであり、これはしばしばロードバランスとキャッシュアクセルに使用されます。

たとえば、単純なnginx構成は次のようになる場合があります。

 http {
    サーバー{
        聞く80;
        server_name example.com;
        位置 / {
            root /var/www/example.com;
            index index.html;
        }
    }
}
ログイン後にコピー
ログイン後にコピー

このコードは、ポート80に耳を傾けるサーバーを定義し、example.comドメイン名のリクエストに応答し、リクエストのルートディレクトリを/var/www/example.comに指します。

サーバーブロックの詳細な分析

サーバーブロックは、NGINX構成のコア部分であり、同じNGINXインスタンスで複数のWebサイトまたはサービスを実行できます。各サーバーブロックは、リスニングポート、ドメイン名、ログファイルなどを個別に構成して、高い柔軟性を実現できます。

定義と機能

サーバーブロックの定義は非常に単純ですが、その機能は非常に強力です。これにより、1つのNginxインスタンスで複数のWebサイトまたはサービスを実行できます。これは、複数のWebサイトをホストするサーバー管理者にとって非常に便利な機能です。

たとえば、次のような2つの異なるサーバーブロックを定義できます。

 http {
    サーバー{
        聞く80;
        server_name emple1.com;
        位置 / {
            root /var/www/example1.com;
            index index.html;
        }
    }

    サーバー{
        聞く80;
        server_name emple2.com;
        位置 / {
            root /var/www/example2.com;
            index index.html;
        }
    }
}
ログイン後にコピー

それがどのように機能するか

nginxがリクエストを受信すると、最初にリクエストのホストヘッダーをチェックし、次にserver_nameディレクティブに従って適切なサーバーブロックを一致させます。サーバーブロックが一致していない場合、nginxは処理にデフォルトのサーバーブロックを使用します。これは、予期しない動作につながる可能性があるため、構成するときに特別な注意が必要です。

逆プロキシの本質

Reverse Proxyは、Nginxのもう1つの強力な機能です。クライアントリクエストをバックエンドサーバーに転送することができ、それにより、ロードバランス、キャッシュアクセラレーション、その他の機能を実現できます。

定義と機能

逆プロキシの定義は、NGINXを介してクライアントリクエストをバックエンドサーバーに転送することです。その機能は、バックエンドサーバーの実際のIPアドレスを非表示にし、追加のセキュリティを提供し、負荷分散を達成し、システムの信頼性とパフォーマンスを向上させることができるということです。

たとえば、単純な逆プロキシ構成は次のようになる場合があります。

 http {
    上流のバックエンド{
        サーバーlocalhost:8080;
        サーバーlocalhost:8081;
    }

    サーバー{
        聞く80;
        server_name example.com;
        位置 / {
            proxy_pass http:// backend;
            proxy_set_headerホスト$ host;
            proxy_set_header x-real-ip $ remote_addr;
        }
    }
}
ログイン後にコピー

このコードは、 backend呼ばれる上流サーバーグループを定義し、2つのバックエンドサーバーを含み、すべてのリクエストをこのサーバーグループに転送します。

それがどのように機能するか

nginxが逆プロキシとして機能すると、クライアントからリクエストを受信し、構成に基づいてリクエストをバックエンドサーバーに転送します。 Nginxは、異なる負荷分散アルゴリズム(ポーリング、最小接続など)に従ってバックエンドサーバーを選択し、効率的な要求配信を実現できます。

使用の例

基本的な使用法

単純なサーバーブロック構成から始めましょう。

 http {
    サーバー{
        聞く80;
        server_name example.com;
        位置 / {
            root /var/www/example.com;
            index index.html;
        }
    }
}
ログイン後にコピー
ログイン後にコピー

このコードは、ポート80に耳を傾けるサーバーを定義し、example.comドメイン名のリクエストに応答し、リクエストのルートディレクトリを/var/www/example.comに指します。

高度な使用

次に、サーバーブロックと逆プロキシを組み合わせたより複雑な構成を見てみましょう。

 http {
    上流のバックエンド{
        サーバーlocalhost:8080;
        サーバーlocalhost:8081;
    }

    サーバー{
        聞く80;
        server_name example.com;
        位置 / {
            proxy_pass http:// backend;
            proxy_set_headerホスト$ host;
            proxy_set_header x-real-ip $ remote_addr;
        }
    }

    サーバー{
        聞く80;
        server_name api.example.com;
        位置 / {
            proxy_pass http:// backend;
            proxy_set_headerホスト$ host;
            proxy_set_header x-real-ip $ remote_addr;
        }
    }
}
ログイン後にコピー

このコードは、2つのサーバーブロックを定義します。1つは、api.example.comの場合は1つ、もう1つは1つを定義します。どちらも同じバックエンドサーバーグループbackendを使用しますが、必要に応じて異なる構成を行うことができます。

一般的なエラーとデバッグのヒント

nginxを構成するときの一般的なエラーは次のとおりです。

  • 構成ファイル構文エラー: nginx -tコマンドを使用して、構成ファイルの構文を確認します。
  • サーバーブロックマッチングの問題: server_nameが正しく構成されていることを確認してください。そうしないと、リクエストが正しく処理されない場合があります。
  • 逆プロキシ構成エラー: proxy_passディレクティブが正しいアップストリームサーバーグループを指し、必要なヘッダー情報が設定されていることを確認してください。

パフォーマンスの最適化とベストプラクティス

実際のアプリケーションでは、最適なパフォーマンスのためにNGINX構成を最適化する方法は?ここにいくつかの提案があります:

  • キャッシュの使用:NGINXはキャッシュの静的コンテンツをサポートします。これにより、応答速度が大幅に向上します。
  • worker_processesプロセスの数を調整します。Worker_Processes命令を調整して、サーバーのCPUコアの数に従って調整します。これにより、同時処理機能が向上します。
  • GZIP圧縮を有効にする:GZIP圧縮を有効にすることにより、送信されたデータの量を減らして送信速度を上げることができます。

たとえば、以下は最適化されたnginx構成の例です。

 http {
    gzip on;
    gzip_vary on;
    GZIP_PROXIED ANY;
    gzip_comp_level 6;
    GZIP_TYPESテキスト/プレーンテキスト/CSSアプリケーション/JSONアプリケーション/JavaScriptテキスト/XMLアプリケーション/XMLアプリケーション/XML RSSテキスト/JavaScript;

    proxy_cache_path/var/cache/nginxレベル= 1:2 keys_zone = static:10m inactive = 24h max_size = 1g;

    サーバー{
        聞く80;
        server_name example.com;
        位置 / {
            root /var/www/example.com;
            index index.html;
            try_files $ uri $ uri/ = 404;
        }

        場所〜* \。(jpg | jpeg | png | gif | ico | css | js)$ {
            期限切れ1y;
            log_not_found;
            add_header Cache-Control "public、no-transform";
            proxy_cache static;
            proxy_cache_valid 200 1d;
            proxy_cache_use_staleエラータイムアウトInvalid_header更新http_500 http_502 http_503 http_504;
        }
    }
}
ログイン後にコピー

このコードは、GZIP圧縮を可能にし、静的ファイルキャッシュを設定し、キャッシュポリシーを調整してNGINXパフォーマンスを向上させます。

要約します

この記事を通じて、高度なNginx構成の本質、特にサーバーブロックとリバースプロキシの適用の本質を習得する必要がありました。あなたが初心者であろうと経験豊富な運用およびメンテナンス担当者であろうと、これらのヒントは、NGINXサーバーをより適切に管理および最適化するのに役立ちます。 Nginx構成は、強力な機能を真に発揮するために絶え間ない実践と最適化を必要とするアートであることを忘れないでください。

以上がAdvanced Nginx構成:マスタリングサーバーブロックとリバースプロキシの詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 Aug 01, 2023 am 09:44 AM

リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 はじめに: FastAPI と Nginx は 2 つの非常に人気のある Web 開発ツールです。 FastAPI は高性能 Python フレームワークであり、Nginx は強力なリバース プロキシ サーバーです。これら 2 つのツールを一緒に使用すると、Web アプリケーションのパフォーマンスと信頼性が向上します。この記事では、リバース プロキシと負荷分散のために FastAPI で Nginx を使用する方法を学びます。逆生成とは何ですか

Nginx リバースプロキシにおけるアクセス制御とフロー制御の適用 Nginx リバースプロキシにおけるアクセス制御とフロー制御の適用 Jun 10, 2023 pm 06:58 PM

Nginx は、リバース プロキシ サーバーとしても広く使用されている、高性能、オープンソース、多用途の Web サーバーです。リバース プロキシ サーバーを使用すると、負荷分散、高可用性、アクセス制御、トラフィック制御などの機能を提供できます。この記事では、Nginx リバースプロキシにおけるアクセス制御とフロー制御のアプリケーションを紹介します。 1. アクセス制御 IP アドレス ブラックリスト/ホワイトリスト Nginx は、IP アドレス ブラックリストまたはホワイトリストを構成することで、リクエストに対するアクセス制御を実装できます。ブラックリスト内の IP アドレスはアクセスを拒否されますが、ホワイトリスト内の IP アドレスはアクセスを拒否されます。

Gin フレームワークにおけるリバース プロキシとリクエスト転送の詳細な説明 Gin フレームワークにおけるリバース プロキシとリクエスト転送の詳細な説明 Jun 23, 2023 am 11:43 AM

Web アプリケーションの急速な開発に伴い、開発に Golang 言語を使用する企業が増えています。 Golang 開発では、Gin フレームワークの使用が非常に一般的な選択肢です。 Gin フレームワークは、HTTP エンジンとして fasthttp を使用し、軽量でエレガントな API 設計を備えた高性能 Web フレームワークです。この記事では、リバース プロキシのアプリケーションと、Gin フレームワークでの転送リクエストについて詳しく説明します。リバース プロキシの概念 リバース プロキシの概念は、プロキシ サーバーを使用してクライアントを作成することです。

静的 Web ページへのアクセスを高速化するための Nginx リバース プロキシ キャッシュ構成 静的 Web ページへのアクセスを高速化するための Nginx リバース プロキシ キャッシュ構成 Jul 04, 2023 pm 06:09 PM

静的 Web ページ アクセスの高速化を実現する Nginx リバース プロキシ キャッシュ構成 はじめに: インターネットの急速な発展に伴い、アクセス速度は Web サイトの運用において非常に重要な要素となっています。 Web ページのアクセス速度を向上させるために、Nginx リバース プロキシ キャッシュ テクノロジを使用して Web ページを高速化できます。この記事では、Nginx を使用してリバース プロキシ キャッシュを構成し、静的 Web ページを高速化する方法を紹介します。 Nginx リバース プロキシ キャッシュの構成: Nginx のインストール: まず、Nginx サーバーをインストールする必要があります。これは apt-ge を通じて実行できます。

Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Sep 26, 2023 am 08:40 AM

NginxProxyManager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 近年、インターネットの普及とアプリケーション シナリオの多様化に伴い、Web サイトやアプリケーションへのアクセス方法はますます複雑になっています。 Web サイトへのアクセス効率とセキュリティを向上させるために、多くの Web サイトはユーザーのリクエストを処理するためにリバース プロキシを使用し始めています。 HTTPS プロトコルのリバース プロキシは、ユーザーのプライバシーを保護し、通信のセキュリティを確保する上で重要な役割を果たします。この記事ではNginxProxyの使い方を紹介します。

Nginx エラー ページの構成、Web サイトのエラー プロンプトを美しくする Nginx エラー ページの構成、Web サイトのエラー プロンプトを美しくする Jul 04, 2023 pm 01:33 PM

Nginx のエラー ページ設定、Web サイトの障害プロンプトの美化 Web サイトの運用中にサーバー エラーやその他の障害が発生することは避けられず、これらの問題によりユーザーは Web サイトに正常にアクセスできなくなります。ユーザー エクスペリエンスと Web サイトのイメージを向上させるために、Nginx エラー ページを構成して Web サイトのエラー プロンプトを美しくすることができます。この記事では、Nginx のエラー ページ設定機能を使用してエラー ページをカスタマイズする方法を紹介し、参考としてコード例を示します。 1. Nginx 構成ファイルを変更する まず、Nginx 構成を開く必要があります。

Nginx Proxy Manager を使用してリバース プロキシ負荷分散戦略を実装する Nginx Proxy Manager を使用してリバース プロキシ負荷分散戦略を実装する Sep 26, 2023 pm 12:05 PM

NginxProxyManager を使用してリバース プロキシ負荷分散戦略を実装する NginxProxyManager は、リバース プロキシと負荷分散を簡単に実装できる Nginx ベースのプロキシ管理ツールです。 NginxProxyManager を構成することで、リクエストを複数のバックエンド サーバーに分散して負荷分散を実現し、システムの可用性とパフォーマンスを向上させることができます。 1. NginxProxyManager をインストールして設定する

Nginx クロスオリジン リソース共有 (CORS) 構成を実装する方法 Nginx クロスオリジン リソース共有 (CORS) 構成を実装する方法 Nov 08, 2023 pm 12:22 PM

Nginx のクロスドメイン リソース共有 (CORS) 構成を実装する方法には、特定のコード サンプルが必要です。フロントエンドとバックエンドの分離開発の人気に伴い、クロスドメイン リソース共有 (CORS) の問題は共通の課題となっています。 Web 開発では、ブラウザーの同一オリジン ポリシー制限により、クライアント側の JavaScript コードは、そのコードが配置されているページと同じドメイン名、プロトコル、およびポートを持つリソースのみを要求できます。ただし、実際の開発では、異なるドメイン名または異なるサブドメインからリソースをリクエストする必要があることがよくあります。このとき、COを使用する必要があります

See all articles