2013/6/22

CentOS Pound インストール

1つのIPアドレスで複数の自宅サーバを運用する場合、どうしたらよいのか。
単純にポート番号を分けて、ルータのアドレス変換で振り分けるのが簡単。

サーバー1:port 80
サーバー2:port 8080
サーバー3:port 8888

こんな感じで。
しかしこれだと、80番以外はurlの後ろにポート番号をつけなければならない。

http://example.com:8080/

ランキング登録とかするときにもちょっと格好悪い。
アクセスが減るんじゃないかと不安にもなる。

それを解決するのにpoundというロードバランサがあるらしい。
ドメイン毎にどのサーバに飛ばすか振り分け設定をできる。ヴァーチャルドメインでも可能だ。
さっそく試してみる。もちろんテストはVMwareでやろう。

Poundをインストールする前に、EPELをインストールしておくこと。

PoundをEPELでインストール。

# yum --enablerepo=epel -y install Pound

# vi /etc/pound.cfg

[設定ファイルの変更]

# 13行目:追記-ログレベル
LogLevel 2

# 14行目:追記
Alive 30

# 21-25行目はコメント
#ListenHTTPS
# Address 0.0.0.0
# Port 443
# Cert "/etc/pki/tls/certs/pound.pem"
#End

LogFacility local1

# Poundサーバ自身の設定
ListenHTTP
Address 192.168.1.33
Port 80

# バックエンドサーバの設定
Service
HeadRequire "Host: .*example.com.*"
BackEnd
Address 192.168.1.33
Port 88
TimeOut 30
End
End

Service
HeadRequire "Host: .*example.net.*"
BackEnd
Address 192.168.1.32
Port 8000
TimeOut 30
Priority 6

End
BackEnd
Address 192.168.1.31
Port 8888
TimeOut 30
Priority 4

End
End
End

[設定のチェック]
# pound -c

エラーがあると教えてくれます。

[poundサービスのスタート]

# /etc/rc.d/init.d/pound start

[自動起動をon]
# chkconfig pound on

自動起動を確認
# chkconfig pound --list

proudの起動に失敗するとき。アパッチで使うポート番号とpoundで使うポート番号がかぶっている。分けないとエラーになる。

例えばpoundが80番ポートでListenするなら、アパッチは80番ポートは開放せず、Listen 88などにしておく。

Priority は優先順位。数字が大きいほうが上。スペックの高いマシンには数字を大きく割り当ててバランスをとる。

カテゴリ:コンピュータ

カテゴリ
検索
最近の記事
リンク
RSS