目次

概要

オープンソースのリーバスプロキシ兼ロードバランサーであるpoundのインストール・設定手順。

環境情報

VMware ESXi上の以下の環境で導入。

CentOS 5.5Linux Kernel 2.6.18-194.8.1.el5
pound2.5

インストール

以下の手順にてコンパイルインストールを実施。

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/sbinpound自動作成
poundctl自動作成
/usr/local/etcpound.cfg手動作成
/etc/init.dpound.init手動作成

自動起動設定

後述の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)~

ソースコードには起動スクリプトが含まれていないため、ネットから拾ってきたスクリプトに多少の改良を加えた。

  • 引数
    startpoundを起動
    stoppoundを停止
    restartpoundを再起動
    configtestpoundの設定を検証(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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-08-05 (木) 18:37:03 (5012d)