Pound : HTTP を負荷分散2015/01/31 |
HTTP/HTTPS 負荷分散ソフトウェア Pound をインストールします。
例として、ここでは以下のような環境で構築します。 | --------+-------------------------------------------------------------------- | +-------------------+--------------------+--------------------+ |10.0.0.30 |10.0.0.51 |10.0.0.52 |10.0.0.53 +------+-----+ +-------+------+ +-------+------+ +-------+------+ | Frontend | | Backend#1 | | Backend#2 | | Backend#3 | | Pound | | Web Server | | Web Server | | Web Server | +------------+ +--------------+ +--------------+ +--------------+ |
Pound をインストールした Frontend サーバーへの HTTP 通信を Backend#1, Backend#2, Backend#3 の
Webサーバーへ負荷分散するように設定します。
|
|
[1] | Pound をインストールします。 |
# EPELからインストール [root@dlp ~]# yum --enablerepo=epel -y install Pound
|
[2] | Pound の設定です。 |
[root@dlp ~]# mv /etc/pound.cfg /etc/pound.cfg.org
[root@dlp ~]#
vi /etc/pound.cfg User "pound" Group "pound" # ログレベル (5が最大) LogLevel 3 # ログの出力先 LogFacility local1 # ハートビートを送る間隔 (秒) Alive 30 # フロントエンドを定義 ListenHTTP Address 0.0.0.0 Port 80 End # バックエンドを定義 Service BackEnd # バックエンドサーバーのIPアドレス Address 10.0.0.51 # バックエンドサーバーの待ち受けポート Port 80 # 優先度を定義 (1-9 で指定。9が最優先) Priority 5 End BackEnd Address 10.0.0.52 Port 80 Priority 5 End BackEnd Address 10.0.0.53 Port 80 Priority 5 End End /etc/rc.d/init.d/pound start Starting Pound: starting... [ OK ] [root@dlp ~]# chkconfig pound on
|
[3] | 指定したファシリティのログが取得できるように Rsyslog の設定を変更します。 |
[root@dlp ~]#
vi /etc/rsyslog.conf # 42行目:以下のように変更 *.info;mail.none;authpriv.none;cron.none ,local1.none /var/log/messageslocal1.* /var/log/pound.log /etc/rc.d/init.d/rsyslog restart |
[4] | バックエンド Webサーバーで X-Forwarded-For ヘッダーをロギングするよう設定しておきます。 |
[root@www ~]#
vi /etc/httpd/conf/httpd.conf # 497行目:変更 LogFormat " \"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
/etc/rc.d/init.d/httpd restart |
[5] | 任意のクライアントから Pound サーバーへ HTTP アクセスし、何度かリロードしたりバックエンドサーバーの一部を手動で停止する等して、動作を確認してください。 |
Sponsored Link |