概要
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サービスにもよりますが、かなり色々な機能が使えるため、一度機能を試してみて、自分の使いたい機能を模索していくこともいいかもしれません。 多機能プロキシサーバということもあって本当に多いです。使いこなせたら便利な物も多いので、使いこなせるようになりたいですね。