- 追加された行はこの色です。
- 削除された行はこの色です。
目次~
#contents
**概要 [#i60acb0a]
オープンソースのリーバスプロキシ兼ロードバランサーであるpoundのインストール・設定手順。~
-公式サイト~
http://www.apsis.ch/pound/
~
~
**環境情報 [#zee3972b]
VMware ESXi上の以下の環境で導入。
|CentOS 5.5|Linux Kernel 2.6.18-194.8.1.el5|
|pound|2.5|
**インストール [#pb01b047]
以下の手順にてコンパイルインストールを実施。
~
wget http://www.apsis.ch/pound/Pound-2.5.tgz
tar xfvz Pound-2.5.tgz
cd Pound-2.5
./configure --prefix=/usr/local/pound --with-ssl=/usr
make
make install
~
設定ファイルと起動スクリプトの作成は手動にて行う。~
(設定ファイルを/etc配下に集めるため、シンボリックリンクを作成)~
~
touch /usr/local/etc/pound.cfg
cd /etc
ln -s /usr/local/etc/pound.cfg pound.cfg
~
ファイルの配置は以下となる。
|/usr/local/sbin|pound|自動作成|
||poundctl|自動作成|
|/usr/local/etc|pound.cfg|手動作成|
|/etc/init.d|pound.init|手動作成|
**自動起動設定 [#q87bf84e]
後述のpound.initを/usr/local/sbin配下に配置して以下を実行。~
cd /etc/init.d/
ln -s /usr/local/sbin/pound.init pound
cd ../rc3.d
ln -s ../init.d/pound S90pound
cd ../rc5.d
ln -s ../init.d/pound S90pound
**Pound起動スクリプト(pound.init)~ [#o23f56fe]
ソースコードには起動スクリプトが含まれていないため、ネットから拾ってきたスクリプトに多少の改良を加えた。~
~
-引数
|start|poundを起動|
|stop|poundを停止|
|restart|poundを再起動|
|configtest|poundの設定を検証(pound -c -v相当の動作)|
-pound.init
#!/bin/sh
#
# pound
#
# chkconfig: 345 85 15
# description: reverse-proxy and load-balancer
#
# Source function library
. /etc/rc.d/init.d/functions
# Get network config
. /etc/sysconfig/network
# Pound Directory
POUND="/usr/local/sbin/pound"
CFG="/usr/local/etc/pound.cfg"
# See how we were called.
case "$1" in
start)
# Check if the normal service is already running?
if [ ! -f /var/lock/subsys/pound ]; then
echo "Starting pound:"
$POUND -f $CFG
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/pound
echo ${base}
else
#msg_Already_Running pound
echo "pound already started."
# exit 1
fi
;;
stop)
# Stop daemons.
if [ -f /var/lock/subsys/pound ]; then
#msg_stopping pound
echo "Stopping pound:"
killall $POUND
rm -f /var/lock/subsys/pound > /dev/null 2>&1
echo
else
echo "pound is not running."
exit 1
fi
;;
restart|reload)
$0 stop
$0 start
;;
configtest)
$POUND -c -v -f $CFG
;;
*)
echo "usage: pound {start|stop|configtest|restart}"
exit 1
;;
esac
exit $RETVA