nginxで負荷分散を行う方法
1. 負荷分散
サーバーの単位時間当たりのアクセス数が増加すると、サーバーへの負荷が増加します。サーバーにかかる圧力がその能力を超えると、サーバーはクラッシュします。サーバーのクラッシュを回避し、ユーザーにより良いエクスペリエンスを提供するために、通常は負荷分散を使用してサーバーへの負荷を分散します。
それでは、負荷分散とは何でしょうか?多数のサーバーを構築してサーバークラスターを構成し、ユーザーがWebサイトにアクセスすると、最初に中間サーバーにアクセスし、サーバークラスター内で負荷の少ないサーバーを中間サーバーに選択させ、アクセスします。リクエストは選択したサーバーに送信されます。
このようにして、ユーザーがアクセスするたびに、サーバー クラスター内の各サーバーの圧力のバランスが保たれるようになり、サーバーの圧力が共有され、サーバーのクラッシュが回避されます。負荷分散には、リバース プロキシの考え方が使用されます。
2. Nginx での負荷分散の実装
Nginx は、リバース プロキシを介して負荷分散を実現できるサーバーです。Nginx サービスを使用して負荷分散を実現する場合、ユーザーのアクセスは最初に Nginx サーバーにアクセスし、次に Nginx サーバーはサーバー クラスター テーブルから負荷の低いサーバーを選択し、アクセス要求をそのサーバーに送信します。サーバークラスター内のサーバーがクラッシュした場合、そのサーバーは候補サーバーのリストから削除されます。つまり、サーバーがクラッシュした場合、Nginx はサーバーへのアクセス要求を確実に導入しません。
1. fzjh.conf 設定ファイルの作成
/usr/local/nginx/conf に fzjh.conf ファイルを作成します。ファイルの内容は次のとおりです。
user nobody; worker_processes 2; events { worker_connections 1024; } http{ #=upstream设置负载均衡的待选服务器列表,在运行中如果有服务器崩溃那该服务器就会在该列表中移除 upstream mypro{ server 219.133.55.36;#中国万维网 server 115.239.210.27;#百度的ip } server{ listen 8080; #====== 对ngnix更目录做负载均衡=== location / { #==选择要代理的服务器要与upstream对应========== proxy_pass http://mypro; } } }
2. fzjh.conf 設定ファイルをロードします
コマンドを実行します:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/fzjh.conf
3. テストが成功したかどうか
ここで、負荷分散候補サーバーのリストは Baidu と China World Wide Web です。これは、ホスト名 8080 にアクセスすることでテストできることを意味します。ページが Baidu と China World Wide Web の間で切り替わる場合、成功を意味します。
この記事は、Nginx チュートリアルのコラムから引用したものです: http://www.php.cn/nginx/
以上がnginxで負荷分散を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

Nginxunitは複数のプログラミング言語をサポートし、モジュラー設計を通じて実装されています。 1。言語モジュールの読み込み:構成ファイルに従って対応するモジュールをロードします。 2。アプリケーションの起動:呼び出し言語が実行されたときにアプリケーションコードを実行します。 3。リクエスト処理:リクエストをアプリケーションインスタンスに転送します。 4。応答返品:処理された応答をクライアントに返します。

NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。

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

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

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

Nginxは、高い並行リクエストの処理に適していますが、Apacheは複雑な構成と機能的拡張が必要なシナリオに適しています。 1.Nginxは、イベント駆動型の非ブロッキングアーキテクチャを採用しており、高電流環境に適しています。 2。Apacheはプロセスまたはスレッドモデルを採用して、複雑な構成のニーズに適したリッチモジュールエコシステムを提供します。
