poundでリバースプロキシ
なかなか毎日更新って難しいんですね。
はてなのデザイン変えた。
なかなか気に入っている。
今度自分でテンプレート作ってみようかな。
さてさて、本題。
今、大学でそれなりに大きいシステム(自分なりに)を構築してるですが、WEBサーバを複数代持った時(例えば開発用、本番用)にサブドメインによる振り分けと負荷分散をリバースプロキシで実現できるのを知ったので導入です。
あれ…?
yum install -y pound
何にもインストールしてくれません。
そうです。初期のyumの状態ではインストール出来ないんです。
設定方法はこのサイトをご覧ください。
蝸牛の宿(別館)
http://blog.denden-cafe.com/blog/2007/07/pound_0453.html
add
useradd pound
groupadd pound
設定ファイルの創り方
yumでインストールした場合pound.cfgは自動で作成されないようです。
自分で作りましょう。
vim /etc/pound.cfg
pound.cfgの内容例
解説はこのサイトが分かりやすかったです。
User "pound"
Group "pound"
LogLevel 3
Alive 60 #バックエンドサーバーにハートビートを送る間隔(秒)です。デフォは30秒。
Daemon 1 # 1でdeamonとしてバックグラウンドで動いてくれます。 0でフォアグラウンドで実行出来るのでdeamontoolを使用するときはこっちを指定ListenHTTP
Address 10.0.0.11 #poundサーバー自身のIP
Port 80
EndService
HeadRequire "Host:.*test.hoge.dyndns.org.*"
BackEnd
Address 10.0.0.21 #振り分け先IP
Port 80
Priority 1
End
EndService
HeadRequire "Host:.*public.hoge.dyndns.org.*"
BackEnd
Address 10.0.0.31
Port 80
Priority 2 #優先度です。これが高いと振り分けられる割合が高くなります。
End
BackEnd
Address 10.0.0.32
Port 80
Priority 1
End
End
起動スクリプトの作成
無いので自分で作りましょう
vim /etc/init.d/pound
記述例
#!/bin/bash
start() {
echo -n "Starting pound:"
/usr/sbin/pound
return 0
}stop() {
#ストップの処理を記述するんだけど、やり方が分からない。
}case "$1" in
start)
start
;;
esac
実行権限を持たせる。
chmod 700 /etc/init.d/pound
こんな感じで動くと思います。
ただ、終了コマンドが無いのでとりあえずkill プロセス番号とかで終了してください。(見つけて日記で書きます!