Skip to content

Instantly share code, notes, and snippets.

@kui
Created November 24, 2011 01:40
Show Gist options
  • Save kui/1390444 to your computer and use it in GitHub Desktop.
Save kui/1390444 to your computer and use it in GitHub Desktop.
Pound + Apache によるロードバランスされた環境構築

Pound + Apache によるロードバランスされた環境構築

APSIS の Pound によって ロードバランシングされた Web システムを構築する。 また Web サーバには Apache を用いる。

構築環境

仮想環境上に複数台の CentOS を用意して構築に当たる。

  • VMWare Workstation
  • ゲストOS: CentOS 5.7 × 3

構成図

pound 実習構成図

手順

大まかな手順としては、

  1. 仮想環境の構築
  2. Apache の設置
  3. Pound の設置

となる。

1. 仮想環境の構築

CentOS 5.7 の仮想マシンを 1 つ作成し、2 つの完全クローンを作成する。作成手順に関しては他サイトに譲る。クローンを作成する前に sudo yum update を実行すること。

以降、この3つの仮想 CentOS 機をそれぞれ、PoundSvr, ApacheSvr1, ApacheSvr2 と呼ぶ。それぞれ、Pound によるロードバランスを担当するマシン、Web サーバを担当するマシン 2 台とする。

2. Apache の設置

はじめに Apache のインストールを行う。ApacheSvr1/2 各々に対して、2.1 以降の作業を行う。以下は、ApacheSvr1 の設定。ApacheSvr2 のセッティング時は、適宜書き換えて実行する。

$ sudo yum install httpd -y
$ sudo service httpd start
$ sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
$ sudo echo "<h1>this is ApacheSvr1" > /var/www/html/index.html

sudo ifconfig などで IP アドレスを確認し、ホスト OS のブラウザでアクセスをし、確認をする。 echo で作成した HTML が表示されていれば Apache の設置は成功している。

成功が確認できたら、OS 起動時にも上記の設定が再現されるようにする。

$ sudo service iptables save    # iptables の設定保存
$ sudo chkconfig httpd on       # 次回OS起動時、httpd も起動する

3. Pound の設置

epel リポジトリを登録し、Pound をインストール、設定する。

$ sudo wget "http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/i386/epel-release-5-4.noarch.rpm"
$ sudo rpm -Uvh epel-release-5-4.noarch.rpm
$ sudo yum install Pound
$ sudo vim /etc/pound.cfg
User "pound"
Group "pound"
Control "/var/lib/pound/pound.cfg"

ListenHTTP
    Address 0.0.0.0
    Port 80
End

# ListenHTTPS
#    Address 0.0.0.0
#    Port    443
#    Cert    "/etc/pki/tls/certs/pound.pem"
#End

Service
    BackEnd
        #Address 127.0.0.1
        Address 192.168.0.112 # ApacheSvr1 の IP アドレス
        #Port    8000
        Port 80
    End

    BackEnd
        #Address 127.0.0.1
        Address 192.168.0.113 # ApacheSvr2 の IP アドレス
        #Port    8001
        Port 80
    End
End
$ sudo service pound start

PoundSvr の IP アドレスを、ifconfig などで調べ、 ブラウザから http://ipアドレス/ にアクセスする。 数回リロードを行い、下記の項目を確認する。

  • ApacheSvr1/2 の Web ページどちらかが表示されること
  • /var/log/messages にログが流れていること

上記が確認できたら、次のコマンドを実行する。 これにより、次回OS起動時に、Pound も起動してくれるようになる。

$ sudo chkconfig pound on

以上が、Pound を用いてロードバランシングされた HTTP サーバ環境の構築の手順である。

ToDo

  • 各項目の所要時間を書く
  • 動作確認について書く
  • フェイルオーバーなどの動作確認も

参考

このドキュメントを作成するにあたって参考にしたサイトを挙げる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment