tyxiayu 发表于 2015-9-4 13:54:51

04.17.2011---启动haproxy

  
  http://www.google.com.hk/search?hl=en&source=hp&q=%E9%87%8D%E5%90%AF+haproxy&aq=f&oq=&aqi=
  
  http://hx100.blog.iyunv.com/44326/344020
  Linux下搭建Haproxy负载均衡
环境:
haproxy:10.80.11.203
web1:10.80.11.206
web2:10.80.11.207
撰写人:hx10
日期:2010/7/5 hangzhou
Blog: http://hi.baidu.com/hx10

从官方网站:http://haproxy.1wt.eu/ 下载最新版本
# wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz
# tar zcvf haproxy-1.3.20.tar.gz
# cd haproxy-1.3.20
# make TARGET=linux26 PREFIX=/usr/local/haprpxy
# make install PREFIX=/usr/local/haproxy
# cd /usr/local/haproxy
# vim haproxy.cfg
global   
      log 127.0.0.1   local0   
      #log 127.0.0.1local1 notice   
      #log loghost    local0 info   
      maxconn 4096   
      chroot /usr/local/haproxy   
      uid 99   
      gid 99   
      daemon   
      nbproc 1   
      pidfile /usr/local/haproxy/haproxy.pid   
      #debug   
      #quiet   

defaults   
      log   127.0.0.1       local3   
      mode    http   
      optionhttplog   
      optionhttpclose   
      optiondontlognull   
      optionforwardfor   
      optionredispatch   
      retries 2   
      maxconn 2000   
      balance roundrobin   
      stats   uri   /haproxy-stats
             stats auth hx10:123456
      contimeout      5000   
      clitimeout      50000   
      srvtimeout      50000   

listenweb_proxy 0.0.0.0:80   
      optionhttpchk GET /check.htm

      servers1 10.80.11.206:80 weight 3 check   
      servers2 10.80.11.207:80 weight 3 check
红色标记的意思是:
uid 99                        #所属运行的用户uid
gid 99                        #所属运行的用户组
log   127.0.0.1       local3      #日志文件的输出定向
mode    http                            #所处理的类别
optionhttplog                        #日志类别
balance roundrobin                     #负载均衡算法
stats   uri   /haproxy-status      #haproxy 监控页面的访问地址
stats auth hx10:123456       查看监控页,输入的用户名和密码
listenweb_proxy 0.0.0.0:80   #运行的端口及主机名
optionhttpchk GET /check.htm          #健康检测
servers1 10.80.11.206:80 weight 3 check#web1
servers1 10.80.11.207:80 weight 3 check#web2
然后在web1和web2上添加/check.htm页面,内容任意
启动haproxy
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
重启haproxy
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/haproxy.pid`
停止haproxy
# killall haproxy
状态截图如下:
http://10.80.11.203/haproxy-status

本文出自 “无云安全技术站” 博客,请务必保留此出处http://hx100.blog.iyunv.com/44326/344020
  
  http://www.mysqlpub.com/forum.php?mod=viewthread&tid=5343
  Haproxy 的配置相当简单,

从官方网站:http://www.haproxy.org
下载最新版本。

# wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz
# tar zcvf haproxy-1.3.20.tar.gz
# cd haproxy-1.3.20
# make TARGET=linux26 PREFIX=/usr/local/haprpxy
# make install PREFIX=/usr/local/haproxy

安装完毕后,进入安装目录创建配置文件
# cd /usr/local/haproxy
# vi haproxy.cfg

配置内容如下:
global
      log 127.0.0.1   local0
      #log 127.0.0.1local1 notice
      #log loghost    local0 info
      maxconn 4096
      chroot /usr/local/haproxy
      uid 99                        #所属运行的用户uid
      gid 99                        #所属运行的用户组
      daemon
      nbproc 1
      pidfile /usr/local/haproxy/run/haproxy.pid
      #debug
      #quiet
defaults
      log   global
      log   127.0.0.1       local3      #日志文件的输出定向
      mode    http                            #所处理的类别
      optionhttplog                        #日志类别
      optionhttpclose
      optiondontlognull
      optionforwardfor
      optionredispatch
      retries 2                      #设置多个haproxy并发进程提高性能
      maxconn 2000
      balance roundrobin                     #负载均衡算法
      stats   uri   /haproxy-stats      #haproxy 监控页面的访问地址
      # 可通过 http://localhost:1080/haproxy-stats 访问
      contimeout      5000
      clitimeout      50000
      srvtimeout      50000
listenlocalhost 0.0.0.0:1080                   #运行的端口及主机名
      mode    http
      optionhttpchk GET /index.htm         #健康检测
      servers1 127.0.0.1:3121 weight 3 check#后端的主机 IP &权衡
      servers2 127.0.0.1:3122 weight 3 check#后端的主机 IP &权衡

启动服务:
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
重启服务:
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid`(没有换行)
停止服务:
# killall haproxy
当然,为了方便系统在开机时加载,还可以创建启动脚本:
# vim /etc/rc.d/init.d/haproxy内容如下:
#! /bin/sh
set -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin
PROGDIR=/usr/local/haproxy
PROGNAME=haproxy
DAEMON=$PROGDIR/sbin/$PROGNAME
CONFIG=$PROGDIR/conf/$PROGNAME.conf
PIDFILE=$PROGDIR/run/$PROGNAME.pid
DESC="HAProxy daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
start()
{
      echo -n "Starting $DESC: $PROGNAME"
      $DAEMON -f $CONFIG
      echo "."
}
stop()
{
      echo -n "Stopping $DESC: $PROGNAME"
      haproxy_pid=cat $PIDFILE
      kill $haproxy_pid
      echo "."
}
restart()
{
      echo -n "Restarting $DESC: $PROGNAME"
      $DAEMON -f $CONFIG -p $PIDFILE -sf $(cat $PIDFILE)
      echo "."
}
case "$1" in
start)
      start
      ;;
stop)
      stop
      ;;
restart)
      restart
      ;;
*)
      echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
      exit 1
      ;;
esac
exit 0
保存后赐予可执行权限
# chmod +x /etc/rc.d/init.d/haproxy
就可以使用 service haproxy start|stop|restart 来控制服务的启动停止跟重启。
并通过以下命令加载到开机服务启动列表
# chkconfig --add haproxy

配置日志:
# vim /etc/syslog.conf
在最下边增加
local3.*         /var/log/haproxy.log
local0.*         /var/log/haproxy.log

重启核心日志服务使配置起效
# service syslog restart
然后就可查看日志了
# tail –f /var/log/harpoxy.log
Aug 22 15:32:06 localhost haproxy: Proxy www started.
Aug 22 15:32:06 localhost haproxy: Proxy cherokee started.
Aug 22 15:32:06 localhost haproxy: Proxy wap started.
Aug 22 15:32:06 localhost haproxy: Proxy pic started.
Aug 22 15:32:06 localhost haproxy: Proxy img started.
Aug 22 15:32:06 localhost haproxy: Proxy public started.
Aug 22 15:32:06 localhost haproxy: Proxy public started.
Aug 22 15:32:59 localhost haproxy: 219.142.128.30:6416 public stats/<STATS> 0/-1/-1/-1/0 200 17329 - - PR-- 0/0/0/0/0 0/0 "GET /?stats HTTP/1.1"
Aug 22 15:32:59 localhost haproxy: 219.142.128.30:6416 public stats/<STATS> 0/-1/-1/-1/0 200 17329 - - PR-- 0/0/0/0/0 0/0 "GET /?stats HTTP/1.1"
  
  http://weizhifeng.net/2011/03/26/haproxy-configuration-log-issue/
  Haproxy 配置(日志问题解决)
Posted on 2011年03月26日 by Jeremy Wei
Haproxy是一个负载均衡服务器,能够提供4层,7层代理,并能支持上万级别的
连接,你可以直接在WEB服务器前端加上它,而不影响应用的访问,完全透明。
1. 安装1wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz
2tar -zxvf haproxy-1.4.8.tar.gz
3cd haproxy-1.4.8
4./configure --prefix=/path/to/haproxy
5make && make install
2.配置
首先要添加haproxy:haproxy用户:1groupadd haproxy
2useradd -g haproxy haproxy
3sudo cat /etc/passwd |grep haproxyc #查看uid和gid

编辑haproxy.cfg,添加如下内容:01global
02    log 127.0.0.1   local3
03    maxconn 4096            #最大连接数
04    chroot /path/to/haproxy #安装目录
05    uid 535#用户haproxy
06    gid 520#组haproxy
07    daemon   #守护进程运行
08    nbproc 1 #进程数量
09    pidfile logs/haproxy.pid
10defaults
11   log   127.0.0.1       local3
12   mode    http#layer 7代理
13   optionhttplog
14   optionhttpclose
15   optiondontlognull
16   optionforwardfor
17   retries 2
18   maxconn 2000
19   balance roundrobin
20   stats   uri   /haproxy-stats
21   contimeout      5000
22   clitimeout      50000
23   srvtimeout      50000
24
25frontend http-in
26      bind *:80 #监听地址
27      default_backend pool1
28
29backend pool1
30      optionhttpchk GET /test.php #用来做健康检查
31      stats refresh 2
32      server server1 192.168.1.1:82 weight 3 maxconn 32 check #check表示对这个server进行健康检查
33      server server2 192.168.1.2:82 weight 3 maxconn 32 check

查看后端server状态:
http://example.com/haproxy-stats1#启动
2sudo ./sbin/haproxy -f haproxy.cfg
3#重启
4sudo ./sbin/haproxy -f haproxy.cfg -st `cat logs/haproxy.pid`
3.日志问题
有童鞋说日志怎么也写不进去,我也遇到了这个问题,在这里分享下。
编辑/etc/syslog.conf文件,添加:1local3.*    /var/log/haproxy.log

编辑/etc/sysconfig/syslog文件,把SYSLOGD_OPTIONS=”-m 0&Prime; 改成 SYSLOGD_OPTIONS=”-r -m 0&Prime; #enables logging from remote machines
重启syslogd: /etc/init.d/syslog restart
tail -f -n 30 /var/log/haproxy.log 应该可以看到日志输出了:)
参考:
http://blog.chenlb.com/2009/06/install-haproxy-and-configure-load-balance.html
http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
  
  
页: [1]
查看完整版本: 04.17.2011---启动haproxy