概要
haproxyとは多機能なプロキシサーバで、ソフトウェアロードバランサーの一種であり、かなり古くから開発が続けられているソフトウェアです。CentOSなどのLinux系のシステムで利用可能なソフトウェアです。
今回はCentOS7で実際にインストール、設定を行っていこうと思います。
インストール
CentOSでは、次のコマンドを実行して、インストールを行います。# yum -y install haproxy
インストールはこれだけで、あとは実際に設定ファイルをいじって設定していきましょう。
設定
まず、設定をいつでも元に戻せるように設定ファイルのバックアップを作成します。デフォルトの設定ファイルの場所は/etc/haproxy/です# cp -a/etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.default
.backでも.originalでもバックアップと分かればなんでも良いです。
# vi /etc/haproxy/haproxy.cfg
以下は一例ですが、Webサーバーによって適宜変更を加えてください。
# Simple configuration for an HTTP proxy listening on port 80 on all # interfaces and forwarding requests to a single backend "servers" with a # single server "server1" listening on 127.0.0.1:8000 global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats tune.ssl.default-dh-param 2048 defaults log global timeout connect 3000ms timeout client 100000ms timeout server 500000ms frontend http_80_local_frontend bind xxx.xxx.xxx.xxx:80 mode http option forwardfor option http-server-close option httpcloseこのままではログが出ないため、ログの設定も行いたいと思います。
rsyslogを入れている方はそれを使って、入れていない方は下記のコマンドでインストールしましょう
# yum install rsyslog
設定をいつでも元に戻せるように設定ファイルのバックアップを作成します。
# cp -a /etc/rsyslog.conf /etc/rsyslog.conf.default
これも同様に、.defaultでなくても.backup等でも構いません。 実際にrsyslogに設定を追記していきます。
# vi /etc/rsyslog.conf
#$ModLoad imudp
#$UDPServerRun 514
*.info;mail.none;authpriv.none;cron.none /var/log/messages
上記を下記に変更 $ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 127.0.0.1 *.info;mail.none;authpriv.none;cron.none;local2.none /var/log/messages 下記の設定を追記 #Disable SystemLogRateLimitInterval
$SystemLogRateLimitInterval 0 #HAProxy
local2.* /var/log/haproxy.log 設定は以上になります。
最後に、サービスを立ち上げる、もしくは設定を反映させるために再起動を行いましょう。再起動のかたはrestartを、起動のみの方はstartを打ってください
# systemctl (re)start rsyslog.service
# systemctl start haproxy.service
以上で全ての設定が完了しました。
総括
バックエンドのWebサービスにもよりますが、かなり色々な機能が使えるため、一度機能を試してみて、自分の使いたい機能を模索していくこともいいかもしれません。 多機能プロキシサーバということもあって本当に多いです。使いこなせたら便利な物も多いので、使いこなせるようになりたいですね。