一 HAProxy安装

官方链接:http://www.haproxy.org/ (国内可能无法打开)
下载连接:http://pkgs.fedoraproject.org/repo/pkgs/haproxy/
 [root@HAProxy ~]# yum -y install gcc gcc-c++ make openssl-devel wget openssh-clients			#安装编译工具
[root@HAProxy ~]# service iptables stop
[root@HAProxy ~]# chkconfig iptables off
[root@HAProxy ~]# vi /etc/selinux/config
SELINUX=disabled
 

1.1 yum安装

 [root@HAProxy ~]# yum -y install haproxy

1.2 编译安装

[

 [root@HAProxy ~]# tar -zxvf haproxy-1.7.9.tar.gz
[root@HAProxy ~]# cd haproxy-1.7.9/
[root@HAProxy haproxy-1.7.9]# make TARGET=linux2628 CPU=x86_64 PREFIX=/usr/local/haprpxy #编译uname -r #查看系统内核版本号
[root@HAProxy haproxy-1.7.9]# make install PREFIX=/usr/local/haproxy
 
参数解释:
TARGET=linux26:内核版本,使用uname -r可查看内核。
[root@HAProxy ~]# uname -r
2.6.32-642.el6.x86_64
如:2.6.18-371.el5,此时该参数就为linux26;当内核kernel为2.6.28或之上时采用TARGET=linux2628,更多参数可参考:https://github.com/haproxy/haproxy
ARCH=x86_64:系统位数。
PREFIX=/opt/haprpxy:opt/haprpxy为haprpxy安装路径

1.4 创建HAProxy相关配置文件

 [root@HAProxy ~]# mkdir /usr/local/haproxy/conf				#创建配置文件目录
[root@HAProxy ~]# mkdir -p /etc/haproxy #创建配置文件目录
[root@HAProxy ~]# touch /usr/local/haproxy/haproxy.cfg #创建配置文件
[root@HAProxy ~]# ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/haproxy.cfg #添加配置文件软连接
[root@HAProxy ~]# cp -r /root/haproxy-1.7.9/examples/errorfiles /usr/local/haproxy/errorfiles #拷贝错误页面
[root@HAProxy ~]# ln -s /usr/local/haproxy/errorfiles /etc/haproxy/errorfiles #添加软连接
[root@HAProxy ~]# mkdir -p /usr/local/haproxy/log #创建日志文件目录
[root@HAProxy ~]# touch /usr/local/haproxy/log/haproxy.log #创建日志文件目录
[root@HAProxy ~]# ln -s /usr/local/haproxy/log/haproxy.log /var/log/haproxy.log #添加软连接
[root@HAProxy ~]# cp /usr/local/haproxy/sbin/haproxy /usr/sbin/ #拷贝HAProxy命令
[root@HAProxy ~]# cp /root/haproxy-1.7.9/examples/haproxy.init /etc/rc.d/init.d/haproxy #拷贝开机启动文件
[root@HAProxy ~]# chmod u+x /etc/rc.d/init.d/haproxy #添加脚本执行权限
[root@HAProxy ~]# chkconfig haproxy on #设置开机启动
 

二 常用配置

2.1 配置文件

默认配置内容见附件。

2.2 配置选项

 global				#设定全局参数,属于进程级的配置,通常和操作系统的配置有关
log 127.0.0.1 local2 #全局日志配置,local0表示日志设备,info表示日志级别,如err、warning、info、debug4中
chroot /usr/local/haproxy #chroot运行路径
pidfile /var/run/haproxy.pid #指定haproxy进程的PID文件,启动进程的用户必须有访问此文件的权限
maxconn 4000 #每个HAProxy进程可接受的最大并发连接数
user haproxy
group haproxy #设置运行HAProxy进程的用户和组,也可使用UID和GID值来替代
daemon #设置HAProxy进程进入后台运行。 defaults #配置默认参数,会自动被引用到frontend、backend和listen中
mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
log global #采用全局定义的日志
option httplog #日志类别http日志格式
option dontlognull #不记录健康检查的日志信息
option http-server-close #每次请求完毕后主动关闭http通道
option forwardfor except 127.0.0.0/8 #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
option redispatch #serverId对应的服务器挂掉后,强制定向到其他健康的服务器
retries 3 #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 #默认的最大连接数
balance roundrobin #设置默认负载均衡方式,轮询方式
#balance source #设置默认负载均衡方式,类似于nginx的ip_hash
#balnace leastconn #设置默认负载均衡方式,最小连接数 listen stats
bind 0.0.0.0:1080 #监听端口
mode http #监听的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
stats refresh 30s #设置统计页面自动刷新的时间
stats uri /stats #设置统计页面url
stats realm Haproxy Manager #设置登录HAProxy统计页面密码框上提示文本
stats auth admin:admin #设置登录HAProxy统计页面用户名和密码设置
#stats hide-version #隐藏统计页面上HAProxy的版本信息 frontend main *:5000
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js use_backend static if url_static #满足策略要求,则响应策略定义的backend页面
default_backend app #不满足则响应backend的默认页面 backend static
balance roundrobin #负载均衡模式轮询
server static 127.0.0.1:4331 check #后端服务器定义 backend app #定义名称为app的后端真实服务器组
balance roundrobin
server app1 127.0.0.1:5001 check #后端真实服务器,不能用的default和frontend部分
server app2 127.0.0.1:5002 check
server app3 127.0.0.1:5003 check
server app4 127.0.0.1:5004 check
 
后端服务器格式:server <name> <address> [:port] [param*]
parm*参数可有:
  • check:表示启用对此后端服务器进行健康状态检查;
  • inter:设置健康状态检查的时间间隔,单位为毫秒;
  • rise:设置从故障状态换至正常状态需要成功检查的次数;
  • fall:设置后端服务器从正常状态转换为不可用状态需要检查的次数;
  • cookie:为指定的后端服务器设置cookie值;
  • weight:设置后端真实服务器的权重,默认为1,最大值为256,设置为0表示不参与负载均衡;
  • backup:设置后端真实服务器的备份服务器,仅在后端所有真实服务器不可用的情况下启用。

002.HAProxy安装及常见配置的更多相关文章

  1. haproxy安装及日志配置

    1.yum安装 yum install haproxy -y 2.配置文件修改,经典配置 vim /etc/haproxy/haproxy.cfg #------------------------- ...

  2. HAProxy安装及简单配置

    一.HAProxy简介 代理的作用:web缓存(加速).反向代理.内容路由(根据流量及内容类型等将请求转发至特定服务器).转码器(将后端服务器的内容压缩后传输给client端).缓存的作用:减少冗余内 ...

  3. CentOS7—HAProxy安装与配置

    概述 Haproxy下载地址:http://pkgs.fedoraproject.org/repo/pkgs/haproxy/ 关闭SElinux.配置防火墙 1.vi /etc/selinux/co ...

  4. HAProxy安装配置详解

    简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...

  5. Haproxy安装与配置

    一.Haproxy概念 Haproxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.Haproxy特别适用于那些负载特大的web站点,这 ...

  6. 【转】Haproxy安装及配置

    1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.t ...

  7. Haproxy安装及配置(转)

    1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.t ...

  8. Haproxy安装及配置

    1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.t ...

  9. haproxy安装配置for mysql负载均衡(ubantu)

    1.安装pcre apt-get update (apt-get install openssl libssl-dev  ==>可能需要安装的依赖包) apt-get install libpc ...

随机推荐

  1. 模板·点分治(luogu P3806)

    [模板]洛谷·点分治 1.求树的重心 树的重心:若A点的子树中最大的子树的size[] 最小时,A为该树的中心 步骤: 所需变量:siz[x] 表示 x 的子树大小(含自己),msz[x] 表示 其子 ...

  2. php 无法正确获取系统当前时间的解决办法

    今天捣鼓一个统计系统时让用户自动录入用户信息,后台使用PHP的date()函数来获取系统时间,发现时间跟当前时间对不上,后来是因为PHP默认的时区是UTC,应该将其时区设置为北京时间. 方法一:修改p ...

  3. js_原生js实现上拉加载更多的功能。

    1.人生啊,是我莽撞了啊.这是我公司一个喜欢读书的女孩子的个性签名,喜欢哪些句子,不悲伤,却切切实实的令人喜好. 2.写程序是一件很直接明了的事情,明白了就是明白了,不懂就是不懂,不懂装懂的会让你走很 ...

  4. python(十四)新式类和旧式类

    这里有个重要概念呢在下面那个链接 http://blog.csdn.net/zimou5581/article/details/53053775 http://www.cnblogs.com/btch ...

  5. F - New Distinct Substrings (后缀数组)

    题目链接:https://cn.vjudge.net/contest/283743#problem/F 题目大意:给你一个字符串,然后让你求出不同的子串的个数. 具体思路:首先,一个字符串中总的子串个 ...

  6. Mybatis进阶学习笔记——关系查询——一对一查询

    用户和订单的需求 通过查询订单,查询用户,就是一对一查询 (1)自定义JavaBean(常用,推荐使用) <select id="queryOrderUser" result ...

  7. Linux文件目录类指令

    ⒈pwd 显示当前工作目录的绝对路径 ⒉ls [Options] [目录或文件] 常用选项: -a:显示当前目录下所有的文件和目录,包括隐藏的. -l:以列表的方式显示信息. ⒊cd [目录的绝对路径 ...

  8. WPF工具开发: 第三库选择

    PropertyGrid Winforms's PropertyGrid 非WPF原生支持, 需要借助WinFormHost 风格不可定制 PropertyInspectorView 算是" ...

  9. OpenCV:Debug和Release模式 && 静态和动态编译

    1.Release和Debug的区别 Release版称为发行版,Debug版称为调试版. Debug中可以单步执行.跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢.Release版运行速度较 ...

  10. ES系列五、ES6.3常用api之搜索类api

    1.搜索api 1.1.routing:路由 执行搜索时,它将广播到所有索引/索引分片(副本之间的循环).可以通过提供routing参数来控制将搜索哪些分片.例如,在索引book时,路由值可以是nam ...