[CentOS]haproxyインストール、設定

概要

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です