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

[经验分享] haproxy(简称HA,web负载均衡)

[复制链接]

尚未签到

发表于 2019-1-2 07:23:37 | 显示全部楼层 |阅读模式
  
haproxy(简称HA)
  
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案
  
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
  # vi Makefile
  PREFIX = /usr/local/haproxy   (原为PREFIX = /usr/local)
  :wq
  # make TARGET=linux26
  # make install
  haproxy应用时有2种方式,linsten方式和frontend+backend方式
  方式一(listen):
  # vi /usr/local/haproxy/haproxy.cfg
  
global
  log 127.0.0.1 local0
maxconn 4096
chroot /usr/local/haproxy
uid 99
gid 99
daemon
nbproc 1
pidfile /usr/local/haproxy/haproxy.pid
  
defaults
  log global
log 127.0.0.1 local3
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 2000
mode http
stats uri /haproxy-status
stats auth ming:123456
stats refresh 30s
monitor-uri /site_status
contimeout 5000
clitimeout 50000
srvtimeout 50000
  
listen web 192.168.1.10:1080
balance roundrobin
server yang 192.168.1.10:80 check
server ming 192.168.1.12:80 check
  :wq
  方式二(frontend+backend):
  # vi /usr/local/haproxy/haproxy.cfg
  
global
  log 127.0.0.1 local0
maxconn 4096
chroot /usr/local/haproxy
uid 99
gid 99
daemon
nbproc 1
pidfile /usr/local/haproxy/haproxy.pid
  

defaults
  log global
log 127.0.0.1 local3
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 2000
mode http
stats uri /haproxy-status
stats auth ming:123456
stats refresh 30s
monitor-uri /site_status
contimeout 5000
clitimeout 50000
srvtimeout 50000
  frontend web 192.168.1.10:1080        
default_backend aa   

backend aa  
balance roundrobin     
server yang  192.168.1.10:80 check   
server  ming  192.168.1.12:80 check
  :wq
  启动haproxy
  # /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
  开机自启动:
  # vi /etc/rc.local
  /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
  :wq
  查看haproxy页面:
  http://192.168.1.10:1080/haproxy-status
  用户名:ming   密码:123456
  验证效果:
  在2主机上分别建2个页面1.html  内容写各自主机ip
  http://192.168.1.10:1080/1.html
  第一次会显示192.168.1.10
  第二次会显示192.168.1.12
  注:
  1、1080是haproxy的端口号,是随意写的,可改
  2、可以把ip改成域名(如www.ming.com),甚至可以把web的80端口改了,让haproxy用80,这样访问时就不能再加端口了
  3、电脑重启后/etc/init.d/httpd 会被改为/etc/init.d/httpd.rpmorig ,要自己改回来,chkconfig开机启动命令也要再重写一遍,原因不详
  

  附:
  
global:参数是进程级的,通常和操作系统(OS)相关
  defaults:配置默认参数,这些参数可以被利用配置到frontend,backend,listen组件
  frontend:接收请求的前端虚拟节点,Frontend可以根据规则直接指定具体使用后端的 backend(可动态选择)
  backend:后端服务集群的配置,是真实的服务器,一个Backend对应一个或者多个实体服务器
  listen:Frontend和Backend的组合体
  log 127.0.0.1 local0             使用系统的syslog记录日志
  maxconn 4096                     限制单个进程的最大连接数
  option redispatch                 在连接失败或断开的情况下,允许当前会话被重新分发
  retries 2                             设置在一个服务器上链接失败后的重连次数
  balance roundrobin            设置服务器分配算法为轮询(即交替访问)

  option dontlognull              不记录空连接
  contimeout 5000               设置等待连接到服务器成功的最大时间
  clitimeout 50000              设置客户端的最大超时时间
  srvtimeout 50000              设置服务器端的最大超时时间
  nbproc 1                          指定作为守护进程运行的时候,要创建多少个进程,默认只创建一个,需要daemon开启模式
  daemon                            让进程在后台运行,即作为守护进程运行,正式运行的时候开启,此处先禁止,等同于在命令行添加参数 -D
  

  debug                             设置debug模式运行,与daemon模式互斥,等同于在命令行添加参数 -d
  

  1080                                监听端口(随意)
  mode http                         http的7层模式
  

  stats refresh 30s                 统计页面自动刷新时间
  stats uri /haproxy-stats          统计页面URL
  

  stats realm Haproxy\ Statistics             统计页面密码框上提示文本
  stats auth ming:123456               统计页面用户名和密码设置
  stats hide-version                      隐藏统计页面上HAProxy的版本信息
  monitor-uri /site_status         网站健康检测URL,用来检测HAProxy管理的网站是否可以用,正常返回200,不正常返回500
  weight  -- 调节服务器的负重
  check -- 允许对该服务器进行健康检查
  inter  -- 设置连续的两次健康检查之间的时间,单位为毫秒(ms),默认值 2000
  rise  -- 指定多少次连续成功的健康检查后,即可认定该服务器处于可操作状态,默认值 2
  fall  -- 指定多少次不成功的健康检查后,认为服务器为当掉状态,默认值 3
  balance roundrobin     简单的轮询
  balance source           根据请求的源IP
  balance uri                根据请求的url

balance url_param     根据请求RUL中的参数




运维网声明 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-658437-1-1.html 上篇帖子: 负载均衡集群HAProxy讲解篇 下篇帖子: haproxy各应用场景配置实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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