準備 Windows Server 2008 R2 Enterprise (2.40GH、8GB、64ビット、192.168.10.212) 1. Apache 2.4.4をインストールする インストールプロセス中に注意すべきことは何もありません。「次へ」をクリックし続けるだけです。インストールが完了すると、Apache サービスがデフォルトで有効になります。ブラウザに localhost または 127.0.0.1 と入力すると、「It works」という文字が表示されます。 2. Java環境 Ubuntuの設定はインターネット上にたくさんあるので、ここでは詳しくは説明しませんが、JAVA_HOMEとPATHの設定を忘れないようにしてください。 3.Tomcatのインストール ディレクトリ内で解凍するだけです。私のディレクトリは /opt/tomcat7/ です。両方の Ubuntu で解凍しました。権限不足の問題に遭遇する可能性があります。このとき、コマンドを入力する必要があります。最も単純かつ最も強力なのは、sudo chmod 777 directory です。セキュリティ上の問題により、適切に認証する必要があるため、ここでは言及しません。 構成を開始する Apache の設定 1. まず、conf/httpdファイルで、必要なモジュールコメントを開きます(先頭の#記号を削除するだけです)。 LoadModule proxy_module モジュール/mod_proxy.so ロードモジュール proxy_ajp_module モジュール/mod_proxy_ajp.so ロードモジュール proxy_balancer_module モジュール/mod_proxy_balancer.so ロードモジュール proxy_connect_module モジュール/mod_proxy_connect.so ロードモジュール slotmem_shm_module モジュール/mod_slotmem_shm.so ロードモジュール lbmethod_byrequests_module モジュール/mod_lbmethod_byrequests.so ここでは最後の 2 つについて説明します。最初のいくつかを開いただけで、Apache を起動できませんでした。 ログを確認すると、「'slotmem' のプロバイダー 'shm' の検索に失敗しました: mod_slotmem_shm がロードされていますか?」というエラーが報告され続けていることがわかりました。確認したところ、モジュールが有効になっていませんでした。# 記号を削除すると、エラーは報告されなくなります。 もう 1 つの理由は、エラー (22) 無効な引数: AH01183: バランサーを共有できません が報告されることです。このモジュールを開くと、エラーは報告されなくなります。 2. conf/httpdファイル内の仮想ホストのコメントを解除する Includeの前の#を削除します 3. conf/extra/httpd-vhosts.confに設定を追加する まずは私自身の設定を投稿させてください。 <仮想ホスト *:80> サーバー管理者 [email protected] ProxyPass / balancer://cluster/ スティッキーセッション=JSESSIONID|jsessionid nofailover=オン ProxyPassReverse / バランサ://cluster/ サーバー名 192.168.10.212 エラーログ "logs/error.log" CustomLog "logs/access.log" 共通 </仮想ホスト> プロキシリクエストオフ <プロキシ バランサー://クラスター> バランサメンバー ajp://192.168.10.98:8009 負荷係数=1 ルート=jvm1 smax=5 最大=20 ttl=120 再試行=300 タイムアウト=15 バランサメンバー ajp://192.168.10.137:8009 負荷係数=1 ルート=jvm2 smax=5 最大=20 ttl=120 再試行=300 タイムアウト=15 </プロキシ> ProxyPass: リモートサーバーをローカルサーバーのURL空間にマッピングします balancer:// : プロキシ命令タイプ sticksession: バランサーのスティッキーセッション名。この値は、セッションをサポートするバックエンド アプリケーション サーバーに応じて、JSESSIONID や PHPSESSIONID などに設定されることが多いです。バックエンド サーバーが異なる Cookie 名または URL エンコードされた ID (サーブレット コンテナーなど) を使用する場合は、| を使用してそれらを区切ります。最初の部分は Cookie 用、2 番目の部分はパス用です。 nofailover : 「オン」に設定すると、ワーカーが無効になったりエラーが発生したりしたときにセッションが直ちに終了します。バックエンド サーバーがセッション レプリケーションをサポートしていない場合は、この値をオンに設定できます。 ProxyRequests: ProxyPass ディレクティブを使用する場合は、通常、ProxyRequests ディレクティブをオフにする必要があります。 BalancerMember: Balancer メンバー loadfactor: 作業単位の負荷係数。 BalancerMember に使用されます。これは、この作業者に適用される正規化された重量負荷を定義する 1 ~ 100 の数値です。 route : ロードバランサーで使用されるワーカーのルート。ルートはセッション ID に追加される値です。 smax: 必要に応じて、最大数のリンク (ソフト最大値、または smax) を作成します。 smax 数を超えるリンクには、有効期間 (ttl) が割り当てられます。 max: デフォルト値は、現在の MPM 内のプロセスあたりのスレッド数です。 Prefork MPM ではこの値は常に 1 であり、Worker MPM ではこの値は ThreadsPerChild によって制御されます。 ttl: smax 接続数を超える非アクティブ リンクの存続時間 (TTL) (秒単位)。 Apache はこの間に使用されていない接続をすべて閉じます。 retry: スレッド プール ワーカーの再試行のタイムアウト (秒単位)。バックエンド サーバーへのスレッド プール ワーカーのステータスがエラーの場合、Apache はタイムアウトが経過するまでサーバーにリクエストを送信しません。 これにより、バックエンド サーバーをメンテナンスのために停止し、後でオンラインに戻すことができます。値が 0 の場合、エラーが発生したときに待機せずにワーカーを常に再試行することを意味します。 timeout: リンクのタイムアウト(秒単位)。設定されていない場合、Apache は接続が利用可能になるまで待機します。このディレクティブは、バックエンド サーバーへの接続を制限するために、max パラメータと一緒に使用されることが多いです。 これで設定はほぼ完了です。Apache サービスを再起動するだけです。 注: localhost または 127.0.0.1 を入力すると、「It works」という文字は表示されなくなります。代わりに、503 エラーが報告されます。これは、Apache が負荷分散機能を有効にし、ターゲット IP を AJP 経由で Tomcat に送信したが、Tomcat がまだ起動していないため、正常な動作です。 Tomcat の設定 192.168.10.98のサーバーを例に挙げます Vim を使用して conf の下の server.xml を開きます (Vim を知らない場合は想像力を働かせてください ╮(╯▽╰)╭)。ここで紹介する負荷分散は、Apache が AJP プロトコルを介して Tomcat に接続するため、Apache で設定されたポート番号が Tomcat の AJP のポート番号になります。 さらに、エンジンでjvmRouteを設定する必要があります <エンジン名="Catalina" defaultHost="localhost" jvmRoute="jvm1"> ここでの jvmRoute は Apache のルートに対応します。 (これを削除したところ、まだ機能していることがわかりました。素晴らしいと思いますが、設定する必要があります。) ついに、 <クラスタークラス名="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> このメモは この時点で設定は完了です。同様に、192.168.10.137 でも設定します。 テスト用に小さなtest.jspを書く <%@ ページコンテンツタイプ="text/html;charset=UTF-8" %> <%@ ページインポート="java.util.*"%> <html> <ヘッド> <title>ApacheTomcatテスト</title> </head> <本文> <% out.println("<br> セッションID:" + session.getId() + "</br>"); %> </本文> </html> Tomcat の webapps ディレクトリの下に balance フォルダを作成し、そのフォルダに test.jsp を置いて、Tomcat を起動します。 最後に、ブラウザに192.168.10.212/balance/test.jspと入力します。 これは負荷分散の具体化です。もちろん、192.168.10.212 を入力すると、「It works」ではなく、従来の Tomcat ホームページが表示されます。 ちなみに、上記は3つのサーバーに基づいています Apache+Tomcat7の負荷分散構成の詳細については、次の関連リンクをクリックしてください。 以下もご興味があるかもしれません:
|
<<: MySQL の厄介な Aborted 警告をケーススタディで分析する
>>: この記事はPReact10.5.13のソースコードを理解するのに役立ちます
目次導入ルート内のオブジェクト属性パス: 文字列コンポーネント: コンポーネント | () =>...
1. スタートアップメニューでは、カーソルを最初の行に移動します - eを押します 2. UTF-8...
この記事では、モバイルモーダルボックス効果を実現するためのJavaScriptの具体的なコードを参考...
ページ置換アルゴリズム: 本質は、限られたメモリをワイヤレス プロセスに対応できるようにすることです...
この記事では、ネストされたタブ機能を実装するためのjQueryの具体的なコードを参考までに紹介します...
HTML段落段落は <p> タグによって定義されます。例<p>これは段落で...
次に、Centos7 に Java+Tomcat をインストールします。インターネット上には多くの記...
目次序文配列.isArrayコンストラクタインスタンスプロトタイプオブジェクト.プロトタイプ.toS...
!DOCTYPE HTML ドキュメントが準拠するドキュメント型定義 (DTD) を指定します。 ...
2 列レイアウトはプロジェクトでよく使用されます。この効果を実現する方法はたくさんあります。 しかし...
必要Zabbix で DingTalk アラームを設定する方法は、Prometheus で Ding...
1. es起動コマンド: docker run -itd -e TAKE_FILE_OWNERSHI...
目次プラグインとはプラグインの作成プラグインの使用要約するプラグインとはVue フレームワークでは、...
1. リポジトリファイルを作成するmongodb の公式インストール ドキュメントを参照し、次のスク...
ビルドを無効にするパーティション式では、次の構成はサポートされません。ストアドプロシージャ、ストアド...