標籤:haproxy 配置 centos
1、安裝haproxy
#tar xzvf haproxy-1.5.9.tar.gz
#cd haproxy-1.5.9
# make TARGET=linux26 PREFIX=/usr/local/haproxy
# make install PREFIX=/usr/local/haproxy
# mkdir /usr/local/haproxy/etc
# mkdir -p /data/logs/haproxy
2、編輯haproxy 設定檔
# vi /usr/local/haproxy/etc/haproxy.conf
global log 127.0.0.1 local0 maxconn 4096 chroot /usr/local/haproxy uid 0 gid 0daemon nbproc 1 pidfile /usr/local/haproxy/haproxy.pid #debugulimit-n 65535defaults log global mode http retries 3 option httplog option httpclose option dontlognull option forwardfor option abortonclose log 127.0.0.1 local3 #balance roundrobin maxconn 2048 timeout connect 5000 timeout client 50000 timeout server 50000listen admin_stats bind *:8000 stats refresh 30s stats uri /status stats realm Haproxy Manager stats auth admin:admintest stats hide-versionfrontend wwwbind *:80acl web_fp path_beg -i /use_backend www_site if web_fpfrontend web_managebind *:8080acl web_mgr path_beg -i /web_manageuse_backend mgr_site if web_mgrbackend www_site#mode http#fullconn 4000option httpchk GET /about.jspstats refresh 2balance roundrobincookie SERVERID insert indirectserver web_fp1 192.168.0.2:10000 cookie 1a check inter 2000 rise 2 fall 3 weight 50server web_fp2 192.168.0.2:11000 cookie 2a check inter 2000 rise 2 fall 3 weight 50backend mgr_site server web_mgr 192.168.0.2:9000 check inter 2000 rise 2 fall 2
3、編輯haproxy 服務指令碼
#vi /etc/init.d/haproxy
#!/bin/sh#chkconfig: 35 86 86#description: HAProxy is a TCP/HTTP reverse proxy.#processname: haproxy# config: /usr/local/haproxy/etc/haproxy.conf# pidfile: /usr/local/haproxy/haproxy.pid#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin BINFILE="/usr/local/haproxy/sbin/haproxy"CFGFILE="/usr/local/haproxy/etc/haproxy.conf"PIDFILE="/usr/local/haproxy/haproxy.pid"LOCKFILE="/usr/local/haproxy/haproxy.lock" RETVAL=0 start() { [[ -x $BINFILE ]] || exit 5 [[ -f $CFGFILE ]] || exit 6 $BINFILE -c -q -f $CFGFILE [[ $? -ne 0 ]] && echo "The HAProxy configure has error." && return 1 echo -n "Starting HAProxy......" $BINFILE -f $CFGFILE -p $PIDFILE RETVAL=$? echo [[ $RETVAL -eq 0 ]] && touch $LOCKFILE return $RETVAL} stop() { echo -n "Shutting down HAProxy......" while true do killall $BINFILE [[ -z `ps aux | grep sbin/haproxy | grep -v grep` ]] && break done RETVAL=$? echo [[ $RETVAL -eq 0 ]] && rm -f $LOCKFILE $PIDFILE return $RETVAL} restart() { stop sleep 1 start} reload() { [[ -z `ps aux | grep sbin/haproxy | grep -v grep` ]] && echo "The HAProxy is not running." && return 1 echo -n $"Reloading HAProxy......" if [[ -f $PIDFILE ]]; then $BINFILE -f $CFGFILE -st `cat $PIDFILE` else $BINFILE -f $CFGFILE -st `ps aux | grep sbin/haproxy | grep -v grep | awk ‘{print $2}‘` fi RETVAL=$? echo return $RETVAL} case "$1" instart) start ;; stop) stop ;; restart) restart ;; reload) reload ;; condrestart) [[ -e $LOCKFILE ]] && restart || : ;; check) $BINFILE -c -q -V -f $CFGFILE ;; *) echo "Usage: service haproxy {start|stop|restart|reload|condrestart|check}" RETVAL=1esac exit $RETVAL
4、編輯系統日誌配置
# vim /etc/rsyslog.conf
預設有下面的設定,會讀取 /etc/rsyslog.d/*.conf目錄下的設定檔
$IncludeConfig /etc/rsyslog.d/*.conf
5、為haproxy建立一個獨立的設定檔
# vim /etc/rsyslog.d/haproxy.conf
$ModLoad imudp
$UDPServerRun 514
local3.* /var/log/haproxy.log
#如果不加下面的的配置則除了在/var/log/haproxy.log中寫入日誌外,也會寫入message檔案
6、配置rsyslog的主設定檔,開啟遠程日誌
# vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS=" -c 2 -r -m 0"
#-c 2 使用相容模式,預設是 -c 5
#-r 開啟遠程日誌
#-m 0 標記時間戳記。單位是分鐘,為0時,表示禁用該功能
7、重啟haproxy和rsyslog服務
#/etc/init.d/rsyslog restart
#/etc/init.d/haproxy restart
8、查看haproxy 狀態
#/etc/init.d/haproxy status
haproxy 安裝完成。
本文出自 “工作日記” 部落格,請務必保留此出處http://3920625.blog.51cto.com/3910625/1691924
CentOS 6.5 安裝haproxy