トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   一覧 最終更新   ヘルプ   最終更新のRSS
 


動作確認ディストリビューション

Pound 2.4-1のインストール

PoundのRPMを取得

# wget http://dag.wieers.com/rpm/packages/pound/pound-2.4-1.el4.rf.i386.rpm

Poundのインストール

# rpm -ivh pound-2.4-1.el4.rf.i386.rpm

Pound用ユーザーの作成

# useradd pound

設定ファイルの作成

2台のサーバーでロードバランスを行い、2台ともダウンしている場合は緊急用サーバーに切り替える構成。
なお、1台は開発用サーバーとして利用する。

# vi /etc/pound.cfg
User "pound"
Group "pound"

LogLevel 3
Alive 60
LogFacility local1

ListenHTTP
	Address 192.168.VVV.VVV ←PoundをインストールしたサーバーのIPアドレス
	Port 80
	
	Service
		HeadRequire "Host: .*www.lovebug.jp.*"  ←外部から「http(s)://www.lovebug.jp/〜」にアクセスされた場合の設定
		HeadDeny    "Host: .*test.lovebug.jp.*" ←外部から「http(s)://test.lovebug.jp/〜」にアクセスされた場合と区別するための設定
		
		BackEnd
			Address 192.168.WWW.WWW ←「www.lovebug.jp」のリダイレクト先のWebサーバーのIPアドレス(1台目)
			Port 80
		End
		BackEnd
			Address 192.168.XXX.XXX ←「www.lovebug.jp」のリダイレクト先のWebサーバーのIPアドレス(2台目)
			Port 80
		End
		Emergency
			Address 192.168.YYY.YYY ←「www.lovebug.jp」のリダイレクト先のWebサーバーのIPアドレス(緊急用)
			Port 80
		End
	End
	
	Service
		HeadRequire "Host: .*test.lovebug.jp.*" ←外部から「http(s)://test.lovebug.jp/〜」にアクセスされた場合の設定
		HeadDeny    "Host: .*www.lovebug.jp.*"  ←外部から「http(s)://www.lovebug.jp/〜」にアクセスされた場合と区別するための設定
		
		BackEnd
			Address 192.168.ZZZ.ZZZ ←「test.lovebug.jp」のリダイレクト先のWebサーバーのIPアドレス(開発用)
			Port 80
		End
	End
End

設定ファイルのチェック

# pound -c -f /etc/pound.cfg
starting...
Config file /etc/pound.cfg is OK

自動起動用のスクリプトファイル作成

# vi /etc/rc.d/init.d/pound
#!/bin/bash
#
# pound         This shell script starts the Pound load-balancer
#
# Author:       Ruben Kerkhof <ruben@rubenkerkhof.com>
#
# chkconfig: - 85 15
#
# description:  Pound is a reverse proxy and load-balancer
# processname:  pound
# config: /etc/pound.cfg
# pidfile: /var/run/pound.pid
#

# source function library
. /etc/rc.d/init.d/functions

RETVAL=0

start() {
       echo -n $"Starting Pound: "
       daemon pound
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pound
}

stop() {
       echo -n $"Stopping Pound: "
       killproc pound
       echo
       [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/pound
}

restart() {
       stop
       start
}

case "$1" in
  start)
       start
       ;;
  stop) 
       stop
       ;;
  restart|force-reload|reload)
       restart
       ;;
  condrestart)
       [ -f /var/lock/subsys/pound ] && restart
       ;;
  status)
       status pound
       RETVAL=$?
       ;;
  *)
       echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
       exit 1
esac

exit $RETVAL

自動起動設定

# chmod 755 /etc/rc.d/init.d/pound
# chkconfig --add pound
# chkconfig pound on
# chkconfig --list pound
pound           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Poundのサービスを起動

# service pound start
Starting Pound:                                            [  OK  ]

リダイレクト先のApacheのログにPoundサーバーのIPが出力されないようにmod_rpaf、または、mod_extract_forwarded2を導入
mod_rpaf 0.6のインストール
mod_extract_forwarded2 0.1のインストール

「/var/log/messages」が爆発しないように、ログ出力をsyslogへ切り替える

# vi /etc/syslog.conf
修正前
*.info;mail.none;authpriv.none;cron.none               /var/log/messages
↓↓↓
修正後
*.info;mail.none;authpriv.none;cron.none;local1.none    /var/log/messages

以下を最下行に追加
# Save Pound log to pound
local1.*                                                /var/log/pound

syslogのローテーション設定

# vi /etc/logrotate.d/syslog
修正前
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron
↓↓↓
修正後
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/pound

syslogのサービスを再起動

# service syslog restart

Poundのサービスを再起動

# service pound restart
  • 関連書籍
    #amazon(4873110653,center,)#amazon(487311361X,center,)#amazon(4873113113,center,)#amazon(4774135666,center,)#amazon(4798011894,center,)

Last-modified: 2009-09-02 (水) 00:15:18 (3751d)