设为首页 收藏本站
查看: 1292|回复: 0

[经验分享] haproxy安装步骤及注意事项

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-4 13:22:37 | 显示全部楼层 |阅读模式
  一.安装篇
  安装环境:(可使用 lsb_release -a 查看具体版本号)
  LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
  Distributor ID: CentOS
  Description:    CentOS release 5.4 (Final)
  Release:        5.4
  Codename:     Final
  
  步骤:
  #wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.19.tar.gz
  #tar -xvzf haproxy-1.4.19.tar.gz
  #cd haproxy-1.4.19
  #make TAEGET=linux26 PREFIX=/usr/local/haproxy #设置linux内核版本号(可使用 uname -r 查看) 与 安装路径
  
  注意事项:
  #安装的时候,需要gcc的支持,要确定本机已经安装gcc 。可使用 yum install gcc 来安装。
  #若yum 的源 有问题,请参考:http://www.linuxdiyf.com/viewarticle.php?id=70630
  #安装完成后会在安装目录下生成doc ,sbin ,share三个文件夹。解压的源码文件也可以删除掉。
  
  二.配置篇
  
  1.安装完毕后,进入安装目录配置文件
  # mkdir conf
  # vim haproxy.cfg (可参照源文件中的examples 中的 haproxy.cfg 来书写)
  
  我的配置:
  global      #全局设置
  maxconn  5120  #最大连接数
  chroot   /home/haproxy/haproxy
  uid      500 #所属运行的用户uid
  gid      500 #所属运行的用户组
  daemon   #一后台的形式运行haproxy
  quiet    #安静模式,启动时无输出
  #debug   #调试模式,输出启动信息到标准输出
  nbproc   2 #启动2个haproxy 实例
  pidfile  /home/haproxy/haproxy/haproxy.pid  #将所有进程写入pid文件
  ########################################################
  defaults   #默认设置
  log     global
  log     127.0.0.1  local3  #日志文件的输出定向 请查看下面的日志配置
  mode    http   #所处理的类别,默认采用http模式,可配置成tcp做4层消息转发
  option  httplog  #日志类别,采用httplog
  option  dontlognull
  option  redispatch  #当serverid 对应的服务器挂掉后,强制定向到其它健康的服务器
  retries 3
  maxconn 3000  #最大连接数
  contimeout 5000 #连接超时时间
  clitimeout 50000 #客户端连接超时时间
  srvtimeout 50000 #服务器段连接超时时间
  ##########################################################
  listen localhost 0.0.0.0:1081 #对外开放的接口,也就是我们在浏览器中请求的接口
  mode    http
  #   mode    tcp
  balance roundrobin #负载均衡算法  请参考后面的负载均衡算法
  option  forwardfor  #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
  option  httpclose   #每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现
  option  httpchk GET /index.html
  server web1 10.11.246.223:8080  cookie 1 check inter 5000 fall 3 rise 2 weight 1
  server web2 10.11.246.189:8090  cookie 2 check inter 5000 fall 3 rise 2 weight 1
  #cookie 1表示serverid为1,check inter 1500 是检测心跳频率
  #rise 2是2次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重
  ##########################################################
  listen status 0.0.0.0:8081 #haproxy 监控页面的访问地址
  stats enable
  stats uri /admin    #可使用:http://ip:8081/admin 访问
  stats auth admin:admin # 用户名,密码
  stats realm Haproxy \ statistic
  
  
  2.日志配置
  日志问题:有日志怎么也写不进去的,在这里分享下解决方案。
  vi /etc/syslog.conf
  添加 local3.* /var/log/haproxy.log
  vi /etc/sysconfig/syslog
  把SYSLOGD_OPTIONS="-m 0"
  
  改成 SYSLOGD_OPTIONS="-r -m 0" #enables logging from remote machines
  重启syslogd: /etc/init.d/syslog restart
  tail -f -n 30 /var/log/haproxy.log 应该可以看到日志输出了。
  
  3.启动
  进入到 sbin 文件夹中 ./haproxy -f ../conf/haproxy.cfg
  错误提示:
  这时有可能会遇到问题,大部分为 端口被占用之类的。可使用 netstat -tulpn 来查看
  可以用 ps aux 来查看进程
  4访问监测页面:
  http://ip:8081/admin
DSC0000.png
  
  错误提示:
  若不能访问,请确定主机的防火墙已经开放了我们要访问的端口。可使用 /etc/init.d/iptables stop 命令简单的关闭防火墙,也可开放相应的端口 请参考:
  http://www.ylmf.net/linux/tips/2011021622603.html
  
  5.简单的压力测试:webbench
  请参考:http://blog.s135.com/post/288/
  
  6负载均衡算法
  HAProxy的算法有如下8种:
  一、roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
  二、static-rr,表示根据权重,建议关注;
  三、leastconn,表示最少连接者先处理,建议关注;
  四、source,表示根据请求源IP,建议关注;
  五、uri,表示根据请求的URI;
  六、url_param,表示根据请求的URl参数'balance url_param' requires an URL parameter name
  七、hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
  八、rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。
  其实这些算法各有各的用法,平时应用得比较多的应该是roundrobin、source和lestconn

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-109411-1-1.html 上篇帖子: CentOS6.4 配置Haproxy 下篇帖子: HAProxy的安装和部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表