まず、nginxのは何ですか?
nginxのは、 Webサーバーの非同期フレームワークであり、それはまた、として使用することができリバースプロキシ、ロードバランサおよびHTTPキャッシング。選択nginxのが利点のいくつか:可能な高同時接続、少ないメモリ消費、低コスト、コンフィギュレーションファイルに簡単です、帯域幅節約するために、高い安定性を、熱い展開をサポートし、内蔵のヘルスチェック、サポート書き換え書き換えルールとそうで。
何がリバースプロキシは?
リバースプロキシコンピュータネットワークでは、プロキシサーバーの種類。関係から、クライアントの要求に基づいてサーバ、バックエンドサーバの1つ以上のセット(のようなWebサーバー上のリソースへのアクセス)、その後、クライアントにこれらのリソースを返し、クライアントはリバースプロキシサーバーのIPアドレスを知っているだろうプロキシサーバーの背後にあるサーバのクラスタの存在下で、知らず。
そして、リバースプロキシの使用は何ですか?
① クライアント非表示にするには、サーバー(クラスター)ののIPアドレスは、
②セキュリティ上のようにアプリケーション層のファイアウォール、Webベースの攻撃(例えば、ウェブサイト提供のDoS / DDoS攻撃)保護、容易なトラブルシューティングのマルウェアようにとの、
③ バックエンドサーバ(クラスタ)のための統一提供する暗号化およびSSLアクセラレーション(例えば、SSLターミネーション剤)。
④ 負荷分散サーバクラスタによって高負荷場合リバースプロキシを介して、書き換えURLからの接続要求により、低負荷の必要なリソースまたは同一のバックアップを取得します。
⑤ 静的コンテンツと短時間で動的コンテンツを提供するために、アクセス要求の多数キャッシングサービス ;
⑥ 一部のコンテンツ圧縮するために帯域幅を節約するか、貧弱なネットワーク帯域幅のネットワークにサービスを提供するには、
⑦ 減速アップロード。
⑧ (例えば、プライベートネットワーク内にあるローカル・エリア・ネットワークのサーバクラスタを提供する)NAT外部ネットワーク侵入及び配信サービス。
⑨ 提供HTTPアクセス認証を、
負荷分散コンピュータ(複数の場合(負荷分散)クラスタ過負荷を回避しながら、最適化リソース使用率に)、ネットワーク接続、CPU、ディスクドライブまたは他のリソース割当負荷、最大化スループット、応答時間を最小化します目的。通常、専用のハードウェアおよびソフトウェアによって行われ、主な役割は、インターネットアーキテクチャ解決するため、操作複数の実行ユニットにジョブの合理的に大規模な数を評価する高い同時実行や可用性の問題を。
でnginxの負荷は、いくつかの戦略のバランスをとります:
① ポーリング(ラウンドロビン、デフォルト):別のバックエンドサーバーに配布順番に設定され、クライアントのWeb要求をオンにします。
② 最小接続(最小接続):ロード・バランシング、要求が入ってき、現在現在の接続サーバに基づいて要求を処理するサーバーに接続の最小数を選択します。
③ IPアドレスハッシュ(ip_hash):同じバックエンドサーバーを介して見つけるためにIPハッシュアルゴリズムのためのクライアントの要求によると、他のサイトのURLにアクセスするには、例えば、セッションの問題を解決することができるが、他のサイトに割り当てられていますが、いいえセッションは、他のサイト上に格納されていません。
④ 重み付けラウンドロビン方式(重量):バックエンド・サーバー・ノードの各々ポーリング戦略に基づく権利の基本重量の要求を受け付け、指定されたバックエンド・サーバー・ノードの各々の確率がポーリングされる検討し、性能は主に、バックエンド・サーバ・ノードに適用されませんどちらの場合も。
HTTPキャッシング:
Webコンテンツのキャッシュは、ユーザーがURLにアクセスする際に、ソースのWebサーバとクライアントの間に位置したWebキャッシュサーバのバックエンド出力にしたいWebコンテンツを取得するために、アクセスが同じURLであるならば、次の要求は、来るとされますクライアントに、代わりにバックエンドサーバーに別の要求を送信すると、Webキャッシュサーバを直接出力します。Webコンテンツのキャッシングは、ソースのWebサーバの負荷を軽減するデータベース、ネットワークの待ち時間を減らす、ユーザアクセスの応答速度を改善し、ユーザーエクスペリエンスを向上させます。命令セットはproxy_cacheの開口に関連付けることができます。