検索
ホームページ運用・保守NginxNginxの初期設定方法

基本概念

nginx の最も一般的な用途は、リバース プロキシ サービスを提供することです。では、リバース プロキシとは何でしょうか?この魔法の国では、本土の多くの同胞がフォワード プロキシを使用したことがあると思いますが、その原理は大まかに次のとおりです:

Nginxの初期設定方法

プロキシ サーバーは、クライアント側の仲介者としてリクエストを受け取ります。 、実際のクライアントを非表示にし、サーバーからリソースを取得します。プロキシ サーバーが万里の長城の外にある場合、万里の長城を越えるという目的を達成するのにも役立ちます。リバースプロキシとはその名のとおり、プロキシサーバーを逆にサーバーの仲介として利用し、実際にサービスを提供するサーバーを隠蔽するもので、原理は大まかに以下のとおりです。もちろんこれは万里の長城を迂回するためではなく、セキュリティや負荷分散などの一連の機能を実現するために行われます。いわゆるセキュリティとは、クライアントのリクエストがイントラネット サーバーに直接送信されるのではなく、プロキシを介して転送されることを意味し、この層ではセキュリティ フィルタリング、フロー制御、DDoS 防止などの一連の戦略を実装できます。負荷分散とは、バックエンドで実際にサービスを提供するサーバーの数を水平方向に拡張し、エージェントがルールに従ってリクエストを各サーバーに転送することで、各サーバーの負荷がほぼ均衡するようにすることを意味します。

そして、nginx は非常に人気のあるリバース プロキシ サービスです。 Nginxの初期設定方法

ubuntu では、コンパイルとインストールのプロセスをスキップして、直接 apt-get

コードをコピーします。コードは次のとおりです。

sudo apt-get install nginx

インストール後、次の方法で nginx サービスを直接開始できます。

コードをコピーします。 コードは次のとおりです。

sudo service nginx start

、nginx はデフォルトで設定されています。ポート 80 の転送については、ブラウザで http://locallhost にアクセスすることで確認できます。

初期設定

nginx のデフォルト設定ファイルは、

にあります。コードをコピーします。コードは次のとおりです。

/etc/nginx /nginx.conf

設定を学ぶための最良の方法は、例から始めることです。最初に他の設定を見るのではなく、nginx のデフォルト ページに関連する設定を直接見てみましょう。設定ファイルに次の行があります:

コードをコピーします コードは次のとおりです:

include /etc/nginx/sites-enabled/*;

この行は、外部構成ファイルの場合、サイト対応フォルダーにはデフォルト ファイルが 1 つだけあります。この外部構成ファイルは、nginx のデフォルト プロキシを担当します。構成コンテンツを縮小すると、次の行が表示されます。

コードをコピー コードは次のとおりです。

server {

server_name localhost;

listen 80default_server;

listen [::]:80default_server ipv6only=on;


root /usr/share/nginx/html;
indexindex.htmlindex.htm;

location/ {

try_files $uri $uri/ =404;

}
}


大規模な Web サイトには通常、多くの下位サイトがあり、それぞれに対応するサービスを提供する独自のサーバーがあります。これらの異なるサービス構成は、上記の構成におけるサーバーの意味である仮想ホストと呼ばれる概念を通じて分離できます。たとえば、Google には翻訳とアカデミックの 2 つの製品があります。nginx 構成ファイルで 2 つのサーバーを構成できます。サーバー名はそれぞれ、translate.google.com とAcademic.google.com です。このようにして、異なる URL リクエストが対応します。 nginx の対応する設定に転送し、別のバックエンド サーバーに転送します。ここでのサーバー名は、クライアントの http リクエストのホスト行と一致します。

この例では、server_name は localhost であるため、ブラウザーで localhost を介してページ設定にアクセスできます。次の 2 つの listen は、それぞれ ipv4 および ipv6 の listen ポートに対応します。8080 に設定すると、localhost:8080 経由でのみデフォルト ページにアクセスできます。

default_server は、他の http リクエストのホストが nginx に存在しない場合、このサーバーの設定を使用して処理することを意味します。たとえば、127.0.0.1 にアクセスすると、このサーバーに転送されて処理されます。

各 URL リクエストは、nginx が処理して転送するサービス (ローカル ファイル パスまたは他のサーバーのサービス パス) に対応します。このパスの照合は、位置を通じて実行されます。サーバーはドメイン名に対応する構成、場所はドメイン名の下でのより詳細なパスの構成と考えることができます。

ここでは、/ に一致する場所、つまりローカルホストの /xxx または /yyy で始まるすべてのリクエストは、次の構成を通過する必要があります。この単純かつ大雑把な一致に加えて、nginx は通常の完全な等価性やその他の細かい一致もサポートしています。マッチング方法。また、tryfiles は、nginx が次の順序でファイルにアクセスし、最初に一致したファイルを返すことを意味します。たとえば、localhost/test をリクエストすると、/test ファイルが検索され、見つからない場合は /test/ が検索され、見つからない場合は 404 が返されます。さらに、ロケーション設定で proxypass を使用してリバース プロキシと負荷分散を実装することもできますが、この最も単純な設定には

が含まれていません。ここで、root はローカル フォルダをすべての URL リクエスト パスのルートとして参照します。たとえば、ユーザーが localhost/test をリクエストした場合、nginx は /usr/share/nginx/html フォルダーでテスト ファイルを検索して返します。

index はデフォルトのアクセスページで、localhost にアクセスすると、ルートファイルパスにあるindex.htmlとindex.htmを順に自動的に検索し、最初に見つかった結果を返します。

場所高度な構成
上記の構成は、ユーザーの URL をローカル ファイルにマップするだけであり、伝説的なリバース プロキシと負荷分散は実装しません (もちろん、nginx は静的ディストリビューションを実行します)。ファイルの数も非常に印象的です)、さらに場所を設定して、それを実現する方法を見てみましょう。

設定は非常に簡単です。たとえば、実際にサービスを提供するマシンのポート 8080 にすべてのリクエストを転送したい場合は、次のようにするだけです:

コードをコピーします。コードは次のとおりです。

location / {
proxy_pass 123.34.56.67:8080;
}

このようにして、すべてのリクエストは 123.34.56.67 へのリバース プロキシになります。このようにして、リバース プロキシ機能が実装されましたが、サーバーにプロキシできる場合、どのように負荷分散を行うことができるでしょうか?これには、nginx のアップストリーム モジュールが必要です。

コードをコピーします。コードは次のとおりです:


アップストリーム バックエンド {
ip_hash;
サーバー バックエンド 1.example.com;
サーバー バックエンド 2。 example.com ;
サーバー backend3.example.com;
サーバー backend4.example.com;
}
location / {
proxy_pass http://backend;
}

上流のマシンのグループを指定し、このグループに backend という名前を付けました。このように、proxypass では、リクエストが上流のバックエンドに転送される限り、リバース プロキシと 4 台の負荷分散を実現できます。機械。 iphash は、ユーザーの IP アドレスに従って割り当てを行うバランスのとれた方法であることを示します。

設定を有効にするには、nginx を再起動する必要はなく、設定をリロードするだけで済みます。

コードをコピーします。コードは次のとおりです。

sudo service nginx reload

以上がNginxの初期設定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Nginx vs. Apache:アーキテクチャを見てくださいNginx vs. Apache:アーキテクチャを見てくださいApr 28, 2025 am 12:13 AM

NginxとApacheの主なアーキテクチャの違いは、Nginxがイベント駆動型の非同期非ブロッキングモデルを採用し、Apacheはプロセスまたはスレッドモデルを使用することです。 1)nginxは、静的な内容と逆プロキシに適したイベントループとI/O多重化メカニズムを介して、高電流接続を効率的に処理します。 2)Apacheは、非常に安定しているがリソース消費量が高いマルチプロセスまたはマルチスレッドモデルを採用しており、リッチモジュールの拡張が必要な​​シナリオに適しています。

Nginx vs. Apache:長所と短所を調べますNginx vs. Apache:長所と短所を調べますApr 27, 2025 am 12:05 AM

Nginxは、高い同時コンテンツと静的コンテンツの処理に適していますが、Apacheは複雑な構成と動的コンテンツに適しています。 1。NGINXは、交通量の多いシナリオに適した同時接続を効率的に処理しますが、動的コンテンツを処理するときは追加の構成が必要です。 2。Apacheは、複雑なニーズに適したリッチモジュールと柔軟な構成を提供しますが、並行性のパフォーマンスが低いです。

NginxとApache:重要な違​​いを理解するNginxとApache:重要な違​​いを理解するApr 26, 2025 am 12:01 AM

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

Nginxユニット:主要な機能と機能Nginxユニット:主要な機能と機能Apr 25, 2025 am 12:17 AM

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

Nginxユニットvs他のアプリケーションサーバーNginxユニットvs他のアプリケーションサーバーApr 24, 2025 am 12:14 AM

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxユニット:アーキテクチャとその仕組みNginxユニット:アーキテクチャとその仕組みApr 23, 2025 am 12:18 AM

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

Nginxユニットの使用:アプリケーションの展開と管理Nginxユニットの使用:アプリケーションの展開と管理Apr 22, 2025 am 12:06 AM

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

Nginx vs. Apache:Webサーバーの比較分析Nginx vs. Apache:Webサーバーの比較分析Apr 21, 2025 am 12:08 AM

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要な​​シナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

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

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール