developer's diary

最近はc#のエントリが多いです

OSS(Open Source Software)で構築する分散環境のメモ(コンパイルと設定)

OSS(Open Source Software)で構築する分散環境のメモ(調査中) - 4丁目よりの記事で調査した内容を実践に移す。

以下のオプションでコンパイルしました。

./configure --prefix=/usr/local/proxy_balancer \
  --disable-authn-file \
  --disable-authn-default \
  --disable-authz-groupfile \
  --disable-authz-user \
  --disable-authz-default \
  --disable-auth-basic \
  --disable-include \
  --disable-filter \
  --disable-charset-lite \
  --disable-env \
  --disable-setenvif \
  --disable-version \
  --disable-autoindex \
  --disable-asis \
  --disable-cgid \
  --disable-cgi \
  --disable-negotiation \
  --disable-actions \
  --disable-userdir \
  --enable-authz-host \
  --enable-rewrite \
  --enable-proxy \
  --enable-proxy-balancer \
  --enable-status \
  --enable-ssl

キャッシュに関しては今回は入れないでおく。具体的にサイトを長期で運営するとなるのであれば計測して導入という形を取ることにする。
mod_expiresとかも有用だと思うけど今回は入れない。

今回インストールしたモジュール

モジュール名 概要
mod_authz_host ホスト(名前もしくはIPアドレス)に基づいたグループ証人機能
mod_proxy プロキシ機能
mod_proxy_balancer 負荷分散機能
mod_log-config サーバへのリクエストのロギング機能
mod_rewrite リクエストにあったURLを書き換える機能を提供する
mod_status サーバのステータスと性能に関する情報を提供する
mod_ssl SSL通信機能を提供する
mod_mime リクエストされたファイルの拡張子からファイルの振る舞い決定する機能を提供する

balancer-managerの設定部分

ProxyPass /balancer-manager !
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from localhost
</Location>

上記設定だとhttp://○○○/balancer-manager とかにアクセスできなくなるのでもっと複雑にしても良いかもしれない。
twitterだとbalancer-managerの部分がユーザ名になるけども、http://twitter.com/balancer-manager にアクセスすると、

Forbidden

You don't have permission to access /balancer-manager on this server.

ってなるみたい。そもそもユーザ名に"-"は含まれないので仕様上問題なし。

監視サーバを別途用意する場合は、localhostに指定IPを設定して、監視サーバからスクリプト等で制御する。