Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1291722
  • 博文数量: 390
  • 博客积分: 8464
  • 博客等级: 中将
  • 技术积分: 4577
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 15:12
个人简介

狮子的雄心,骆驼的耐力,孩子的执著!

文章分类

全部博文(390)

文章存档

2018年(9)

2017年(13)

2016年(19)

2014年(7)

2013年(29)

2012年(61)

2011年(50)

2010年(84)

2009年(96)

2008年(22)

分类: 系统运维

2018-11-07 19:37:50

1. 下载

官网:http://www.haproxy.org/
选择最新版本(1.7.8)下载:

  1. wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.8.tar.gz


2. 安装

查看系统内核版本 uname-r 如下图

根据下图选择编译参数(https://github.com/haproxy/haproxy

解压&安装

  1. cd haproxy-1.7.8
  2. make TARGET=linux2628 PREFIX=/usr/local/haproxy
  3. make install PREFIX=/usr/local/haproxy


3. 配置

复制haproxy文件到/usr/sbin下

  1. cp /usr/local/haproxy/sbin/haproxy /usr/sbin/
复制haproxy脚本,到/etc/init.d下

  1. cp ./examples/haproxy.init /etc/init.d/haproxy
  2. chmod 755 /etc/init.d/haproxy
创建系统账号

  1. useradd -r haproxy
创建配置文件

  1. mkdir /etc/haproxy
添加配置文件/etc/haproxy/haproxy.cfg 内容如下

  1. #全局配置
  2. global
  3. #设置日志
  4. log 127.0.0.1 local3 info
  5. chroot /usr/local/haproxy
  6. #用户与用户组
  7. user haproxy
  8. group haproxy
  9. #守护进程启动
  10. daemon
  11. #最大连接数
  12. maxconn 4000
  13. #默认配置
  14. defaults
  15. log global
  16. mode http
  17. option httplog
  18. option dontlognull
  19. timeout connect 5000
  20. timeout client 50000
  21. timeout server 50000
  22. listen stats
  23. bind 0.0.0.0:1080 #监听端口
  24. stats refresh 30s #统计页面自动刷新时间
  25. stats uri /stats #统计页面url
  26. stats realm Haproxy Manager #统计页面密码框上提示文本
  27. stats auth admin:admin #统计页面用户名和密码设置
  28. #stats hide-version #隐藏统计页面上HAProxy的版本信息
  29. #前端配置,http_front名称可自定义
  30. frontend http_front
  31. # 发起http请求道80端口,会被转发到设置的ip及端口
  32. bind *:80
  33. #haproxy的状态管理页面,通过/haproxy?stats来访问
  34. stats uri /haproxy?stats
  35. default_backend http_back
  36. #后端配置,http_back名称可自定义
  37. backend http_back
  38. #负载均衡方式
  39. #source 根据请求源IP
  40. #static-rr 根据权重
  41. #leastconn 最少连接者先处理
  42. #uri 根据请求的uri
  43. #url_param 根据请求的url参数
  44. #rdp-cookie 据据cookie(name)来锁定并哈希每一次请求
  45. #hdr(name) 根据HTTP请求头来锁定每一次HTTP请求
  46. #roundrobin 轮询方式
  47. balance leastconn
  48. #设置健康检查页面
  49. option httpchk GET /index.html
  50. #传递客户端真实IP
  51. option forwardfor header X-Forwarded-For
  52. # inter 2000 健康检查时间间隔2秒
  53. # rise 3 检测多少次才认为是正常的
  54. # fall 3 失败多少次才认为是不可用的
  55. # weight 30 权重
  56. # 需要转发的ip及端口
  57. server node1 192.168.0.4:80 check inter 2000 rise 3 fall 3 weight 30
  58. server node2 192.168.0.5:80 check inter 2000 rise 3 fall 3 weight 30
编辑rsyslog

  1. vi /etc/rsyslog.conf
去掉下面两行前面的#号

  1. $ModLoad imudp
  2. $UDPServerRun 514
添加下面一行

  1. local3.* /var/log/haproxy.log
重启rsyslog

  1. systemctl restart rsyslog
启动haproxy

  1. service haproxy start


访问http://ip:1080/stats,出现如下界面

2)HAproxy Memcached配置

vi /etc/haproxy/haproxy.cfg

listen memcached_repcache_cluster
bind 0.0.0.0:11211
 mode  tcp
 option tcplog
 balance leastconn
 server memcache01 192.168.166.31:11211 check inter 5000 rise 2 fall 2
 server memcache02 192.168.166.32:11211 check inter 5000 rise 2 fall 2

3)HAproxy Mysqld配置
vi /etc/haproxy/haproxy.cfg

listen mysql_slave_cluster 
bind 0.0.0.0:3306
 mode  tcp
# option mysql-check user haproxy_check
 option tcplog
 balance leastconn
 server mysqld01 192.168.166.31:3306 check inter 5000 rise 2 fall 2
 server mysqld02 192.168.166.32:3306 check inter 5000 rise 2 fall 2

阅读(113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册