天天看點

HAProxy部署

一、安裝:

1、從官網 http://haproxy.1wt.eu/#down 下載下傳最新版本,如  haproxy-1.4.16.tar.gz  

2、解壓縮, # tar zcvf haproxy-1.4.16.tar.gz  建議移動到工作目錄 /usr/local/haproxy/ 下,否則後續安裝時還要用PREFIX=/usr/local/haprpxy指定安裝路徑

3、運作 make install 即完成安裝。

程式為 /usr/local/haproxy  或  /usr/local/sbin/haproxy, 運作程式 haproxy,顯示版本資訊即說明安裝成功

文檔在/usr/local/doc/haproxy下,Man:/usr/local/share/man/man1

二、配置

# 建立haproxy.cfg,并加入如下内容:

  1. global  
  2.         log 127.0.0.1   local0  
  3.         #log 127.0.0.1  local1 notice  
  4.         #log loghost    local0 info  
  5.         maxconn 4096  
  6.         chroot /usr/local/haproxy  
  7.         uid 99  
  8.         gid 99  
  9.         daemon  
  10.         nbproc 1  
  11.         pidfile / usr/local/haproxy/logs/haproxy.pid  
  12.         #debug  
  13.         #quiet  
  14. defaults  
  15.         log     127.0.0.1       local3  
  16.         mode    http  
  17.         option  httplog  
  18.         option  httpclose  
  19.         option  dontlognull  
  20.         option  forwardfor  
  21.         option  redispatch  
  22.         retries 2  
  23.         maxconn 2000  
  24.         balance roundrobin  
  25.         stats   uri     /haproxy-stats  
  26.         contimeout      5000  
  27.         clitimeout      50000  
  28.         srvtimeout      50000  
  29. listen  web_proxy 0.0.0.0:80 
  30.         option  httpchk GET /ping.php  
  31.         server  s1 192.168.0.101:80 weight 2 check  
  32.         server s2 192.168.0.102:80 weight 2 check  

三、配置syslog,輸出haproxy日志

1、vi /etc/sysconfig/syslog

把SYSLOGD_OPTIONS="-m 0" 改成 SYSLOGD_OPTIONS="-r -m 0"

讓syslogd接受遠端的日志輸出

2、在/etc/ syslog.conf裡加一行

local3.*         /var/log/haproxy.log

設定其權限

#touch /var/log/haproxy.log

# chmod 777 /var/log/haproxy.log

3、重新開機syslog

# killall -HUP syslogd 重新開機 syslogd

或者

#/etc/init.d/syslog restart

四、啟動HAProxy

/usr/local/sbin/haproxy –f /usr/local/haproxy/haproxy.cfg

檢視日志:tail –f /var/log/harpoxy.log

五、使用腳本來控制Haproxy 啟動 重新開機動 停止等操作。

  1. vim /etc/rc.d/init.d/haproxy 
  2. #! /bin/sh 
  3. set -e 
  4. PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin 
  5. PROGDIR=/usr/local/haproxy 
  6. PROGNAME=haproxy 
  7. DAEMON=$PROGDIR/sbin/$PROGNAME 
  8. CONFIG=$PROGDIR/$PROGNAME.cfg 
  9. PIDFILE=$PROGDIR/logs/$PROGNAME.pid 
  10. DESC="HAProxy daemon" 
  11. SCRIPTNAME=/etc/init.d/$PROGNAME 
  12. # Gracefully exit if the package has been removed. 
  13. test -x $DAEMON || exit 0 
  14. start() 
  15.         echo -n "Starting $DESC: $PROGNAME" 
  16.         $DAEMON -f $CONFIG 
  17.         echo "." 
  18. stop() 
  19.         echo -n "Stopping $DESC: $PROGNAME" 
  20.         killall haproxy 
  21.         echo "." 
  22. restart() 
  23.         echo -n "Restarting $DESC: $PROGNAME" 
  24.         $DAEMON -f $CONFIG -p $PIDFILE -sf $(cat $PIDFILE) 
  25.         echo "." 
  26. case "$1" in 
  27.   start) 
  28.         start 
  29.         ;; 
  30.   stop) 
  31.         stop 
  32.         ;; 
  33.   restart) 
  34.         restart 
  35.         ;; 
  36.   *) 
  37.         echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2 
  38.         exit 1 
  39.         ;; 
  40. esac 
  41. exit 0 

儲存後賜予可執行權限

# chmod +x /etc/rc.d/init.d/haproxy

就可以使用 service haproxy start|stop|restart 來控制服務的啟動停止跟重新開機。

并通過以下指令加載到開機服務啟動清單

# chkconfig --add haproxy

echo “/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg” >> /etc/rc.local

六、成功部署後,可以打開 stats 檢視HAProxy具體狀态:

http://192.168.0.100:1080/haproxy-stats,如:

HAProxy部署

至此,部署完畢。

繼續閱讀