nginxのリバースプロキシの負荷分散とセッション共有

  ネットワークセキュリティの問題は、ネットワークの信頼性がますます顕著になってきている一方で社会の発展、科学技術の増加するレベルでは、インターネットは、人々の日常生活の中でますます重要な役割を果たしています。従来の単一のサービス・アーキテクチャは、ユーザーの近代的なニーズを満たすことができません。そして、それは、分散/クラスタ化されたサービスアーキテクチャモデルの様々なが続きました。サービスを提供するために一緒に複数のサービスを実現します。最も一般的なのは、nginxのプロキシ技術です。

  ユーザの要求は、nginxのプロキシサーバに到達した後、戦略に応じた負荷分散を実現するために、別のサーバーに転送されます。

server.xmlのを配置複数のインスタンスを使用してTomcatの

  <! - コネクタスレッドプールを使用 - >

レビュー:異なるポート番号を使用して、異なる例

<1> ----------------------------------------------- -------------------------------------------------- ----------------------------

<コネクタキュータ= "tomcatThreadPool"  ポート= "8081 "プロトコル= "org.apache.coyote.http11.Http11AprProtocol"
のConnectionTimeout = "30000"にredirectPortは= "8443"はURIEncoding = "UTF-8" enableLookups = "false"を
connectionUploadTimeout =」 150000" acceptCountを= "300"のKeepAliveTimeout = "120000" />

<コネクタポート= "8009"プロトコル= "AJP / 1.3"にredirectPort = "8443" />

<2> ----------------------------------------------- -------------------------------------------------- ----------------------------

<コネクタキュータ= "tomcatThreadPool"  ポート= "8082"プロトコル= "org.apache.coyote.http11.Http11AprProtocol"
のConnectionTimeout = "30000"にredirectPortは= "8443"はURIEncoding = "UTF-8" enableLookups = "false"を 
connectionUploadTimeout =」 150000" acceptCountを= "300"のKeepAliveTimeout = "120000" />

<コネクタポート= "8019"  プロトコル= "AJP / 1.3"にredirectPort = "8443" />

...

それぞれ各Tomcatの例に対応する、環境変数CATALINA_HOME複数に配置され、そしてはcatalina.batを変更する必要があり、それぞれのstartup.batのCATALINA_HOME名および環境変数に対応します。

展開プロジェクト。

nginxの設定:中。nginxの/ confに/ nginx.conf、オープンとnginx.confを設定

#tomcatクラスタ構成
上流のMyApp {
#1 myappには、それ以外の場合は400を生成する、「_」、およびその他の特殊文字アンダー存在しないことができ、転送先アドレス名を構成検証するのTomcatのクラスタ、(8.5.31前)低いバージョンの名前であります間違った、
サイズに応じ#weightアクセス確率は重み値を決定し;

ハッシュ値が割り当てられ#ip_hashクライアントのIPアドレスがサーバに転送される(セッション共有さらにRedisのを使用して達成することができるIPがこれに固定され、springSessionセッション共有機構が実装されてもよいです。)。

サーバの応答速度の#fair速度分布。

#1 url_hash。

#デフォルトのポーリングモード
サーバ127.0.0.1:8081、構成tomcat1#
サーバ127.0.0.1:8082;
重量の#server = 127.0.0.1:8083 6;
サーバ192.168.1.108:88量= 3;#TOMCAT2配置され
}
サーバー{
聞く9090 ;#は、ポートリスニング
サーバー名localhostと、IPアドレス#nginxサービス
LOCATION / {
proxy_pass HTTP:// myappに、
proxy_redirectのデフォルト;
proxy_set_headerホスト$ホスト:$のSERVER_PORT;
}
}

それぞれ、アプリケーションサービスを開始し、その後、nginxのサービスを開始

最後に、HTTPへのアクセス://のLのocalhost:9090 /(プロジェクト名)

 

おすすめ

転載: www.cnblogs.com/jasonma/p/11287880.html