参考URL) http://www.res-system.com/weblog/item/618 [1]
目次
【インストール】
configure オプションに以下を追加。
--enable-proxy --enable-proxy-balancer
【設定】
□ロードバランスをするサーバ(外部から接続を受けるサーバ)への設定
該当のサーバ設定(VirtualHost 内で可)に下記を追記。
参照) http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#proxypass [2]
# フォワードプロキシ機能は無効に ProxyRequests Off # /test 宛のリクエストを 別途定義する 「mycluster」バックエンドサーバグループにバランシング(/test balancer://mycluster) # バランシグ方法はリクエストごとの割り振り(lbmethod=byrequests) # バックエンドサーバとの通信のタイムアウトは1秒(timeout=1、デフォルト0=タイムアウトしない) # セッション維持などのために利用する確認用のcookie名はmysess(stickysession=mysess) ProxyPass /test balancer://mycluster lbmethod=byrequests timeout=1 stickysession=mysess # バックエンドサーバグループの定義# 分散時の重みは10(loadfactor=10、1〜100で指定。大きな値ほど利用頻度が高くなる) # stickysessionで指定されている名前のcookie(有効期限内)の値の最後に .srv1 がついている場合は必ずこちらに割り振る BalancerMember loadfactor=10 route=srv1 # 同様 BalancerMember loadfactor=10 route=srv2
ラフラフな実験ソース
<? $value = session_id() . ".srv1"; $timeout = time() + 10; setcookie("mysess",$value,$timeout,'/','10.200.30.1'); $n = time(); print_r($_SESSION['test'] . "<br>"); print_r($n); $_SESSION['test'] = $n ; ?> test 1
課題
「一意な stickysession」の動作確認
[1] http://www.res-system.com/weblog/item/618
[2] http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#proxypass