haproxy初步使用
2018-04-02 19:15
92 查看
HAProxy初步使用
简介
HAProxy提供负载均衡,以及基于tcp和http应用的代理.它是一种快速,免费,且可靠的解决方案HAProxy的性能及稳定性虽不及lvs,不过在功能上却要优于lvs很多.HAProxy和lvs均可配合keepalived实现高可用
安装
在centos7上,HAProxy可以用yum安装和源码包安装两种方式#yum安装方式 ]# yum install haproxy #源码包安装方式 ]# wget http://www.haproxy.org/download/1.8/src/haproxy-1.8.5.tar.gz ]# tar -zxvf haproxy-1.8.5.tar.gz ]# cd haproxy-1.8.5/ ]# ./configure --prefix=/usr/share/haproxy ]# make && make install
配置
haproxy的主配置文件是/etc/haproxy/haproxy.cfg.其中包括global全局配置段和proxy相关配置段,如”defaults”,”listen”,”frontend”,”backend”]# cat /etc/haproxy/haproxy.cfg global//全局配置 log 127.0.0.1 local2 //日志存放方式,需调用日志软件如rsyslog chroot /var/lib/haproxy //haproxy的工作目录,可以提升haproxy的安全级别,必须要求空目录且任何用户不能有写权限 pidfile /var/run/haproxy.pid //指定运行时pid文件 maxconn 4000 //最大连接数,默认4000,若不够可增大 user haproxy group haproxy daemon //以守护进程方式运行,若不指定则在前端显式运行 stats socket /var/lib/haproxy/stats //套接字文件 defaults //为所有其他配置段提供默认参数 mode http //设定实例的运行模式或协议,可选tcp log global //为每个实例启用事件和流量日志 option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 //设定一个前端的最大并发连接数 #--------------------------------------------------------------------- # main frontend which proxys to the backends #--------------------------------------------------------------------- frontend main *:5000 acl url_static path_beg -i /static /images /javascript /stylesheets //定义acl,名称为url_static,规则为uri的首部,忽略大小写,匹配/static... acl url_static path_end -i .jpg .gif .png .css .js //定义acl,名称为url_static,规则为ui的尾部,忽略大小写,匹配.jpg... use_backend static if url_static //如果匹配url_static,则使用static后端服务器 default_backend app //默认使用app后端服务器 #--------------------------------------------------------------------- # static backend for serving up images, stylesheets and such #--------------------------------------------------------------------- backend static balance roundrobin //定义调度方式为轮询 server static 127.0.0.1:4331 check //定义后端服务器,名称为static,启用健康状态检测 #--------------------------------------------------------------------- # round robin balancing between the various backends #--------------------------------------------------------------------- backend app balance roundrobin server app1 127.0.0.1:5001 check server app2 127.0.0.1:5002 check server app3 127.0.0.1:5003 check server app4 127.0.0.1:5004 check
实验
现对haproxy进行最简单的使用,使用haproxy负载均衡后端的两台web服务器环境
node1:192.168.10.201,调度器
node2:192.168.10.203,web服务器1
node3:192.168.10.204,web服务器2
在node1上安装haproxy,node2和node3上安装httpd
配置
修改node1上haproxy的配置文件(只需修改frontend,backend,并删除listen即可)
]# vim /etc/haproxy/haproxy.cfg frontend main *:80 default_backend webservers backend webservers balance roundrobin server web1 192.168.10.203:80 check server web2 192.168.10.204:80 check
现象
]# curl 192.168.10.201 welcome to web1 ]# curl 192.168.10.201 welcome to web2 ]# curl 192.168.10.201 welcome to web1 ]# curl 192.168.10.201 welcome to web2
话外
HAProxy的官网网站是http://www.haproxy.org/,不过国内似乎进不去?若想查看HAProxy的详细配置介绍,可以访问官方文档http://cbonte.github.io/haproxy-dconv
相关文章推荐
- HAProxy安装及初步使用
- <canvas>标签的使用(图形学初步?)
- 【学习cmake】CMake初步使用教程
- HAProxy安装使用
- Qt自定义控件的创建与初步使用(二)之图片上绘制文字、箭头、曲线
- websocket 初步使用经验(python)
- [转载]gdb使用初步
- javaMail 使用(初步)
- Netty使用初步(转)
- EventBus使用详解(一)——初步使用EventBus
- Android中CMake的使用之一初步总结
- Ext Js技术之面板的初步使用
- Netty4框架的初步使用
- C#中TreeView组件使用方法初步
- Laravel5.3初步使用一(环境搭配(AppServ集成)、数据库配置、目录介绍)
- C#如何使用VS2010与SQL2008建立链接及初步调用(转)
- kettle的下载、安装和初步使用(windows平台下)(图文详解)
- FileUpload控件使用初步
- [perl] perlbrew 使用初步
- Makefile初步使用