haproxy负载均衡的安装配置
haproxy是一款可靠,高性能的并且可以支持TCP/HTTP的负载均衡器,和前面说过的nginx负载均衡类似,这里haproxy对于负载均衡来说更专业,支持的配置选项更多,稳定性也很强,甚至只需要一台haproxy就可以跑出非常高的性能,网上有一些负载均衡工具的评测,其中haproxy的得分就比较高,下面主要说一下haproxy的安装和基本配置
1. 下载
haproxy官网:http://www.haproxy.org/
进入官网首页就可以看到版本列表的选项,这里下载最新的稳定版1.8.1 更新日期为2017.12.03

包名为:haproxy-1.8.1.tar.gz 下载完毕,准备安装
2. 安装
这里下载下来的是源码包,需要编译并安装,过程如下:
解压源码包并进入目录:
tar -xvzf haproxy-1.8..tar.gz
cd haproxy-1.8./
这里不用configure直接进行make即可,如果直接执行make不加参数,则会报错如下:

这里提示必须指定TARGET参数的值,参数列表下面有给出,查询之后发现如果linux内核版本是2.6的并且小于2.6.28则使用linux26,内核版本大于或等于2.6.28则使用linux2628,因为这里用的操作系统是centos 7内核版本是3.10的,所以参数要指定linux2628,使用下面命令编译:
make TARGET=linux2628
编译成功之后,安装: make install PREFIX=/web/haproxy 注意这里PREFIX指定安装目录,如果不指定,默认是/usr/local
安装成功之后,接下来做简单配置就可以使用了
3. 配置并运行
进入haproxy的安装目录可以看到有3个目录,doc:文档目录,sbin:可执行文件目录,share:这个也是帮助文档,所以这里只需要sbin即可运行,进入sbin可以看到只有一个haproxy可执行文件,所以也就是说运行haproxy只需要一个haproxy二进制文件和一个配置文件即可,其他机器要运行直接放过去就可以,可以不用再次编译,这是相当精简的;对于haproxy的配置文件,需要手动创建,以http的负载均衡为例,一个简单的标准配置如下:
global
log 127.0.0.1 local2
chroot /web/haproxy
pidfile /var/run/haproxy.pid
maxconn
user haproxy
group haproxy
daemon
# nbproc
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/
option redispatch
retries
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
# 界面统计
listen stats
mode http
bind 0.0.0.0:
stats enable
stats hide-version
stats uri /haproxyadmin?stats
stats realm Haproxy\ Statistics
stats auth admin:admin
stats admin if TRUE # 负载均衡前端配置
frontend http-in
bind *:
mode http
log global
option httpclose
option logasap
option dontlognull
capture request header Host len
capture request header Referer len
default_backend servers # 后端服务器配置
backend servers
balance roundrobin # leastconn
server server1 192.168.1.111: check maxconn
server server2 192.168.1.112: check maxconn
server server3 192.168.1.113: check maxconn
上面这些基本上都是标准配置,也很容易懂,主要的配置就是均衡器绑定的地址和端口,后端服务的列表,最大连接数,和均衡算法这些配置;现在要将这个配置文件放到服务器上,这里放到了haproxy安装目录下,然后执行下面步骤启动即可:
创建haproxy用户: useradd haproxy -s /sbin/nologin
然后启动haproxy服务: /web/haproxy/sbin/haproxy -f /web/haproxy/haproxy.cfg
启动之后,可以看到进程情况和端口绑定情况,现在就可以调用本地的80端口实现后端请求的分发了;统计页面可以访问:http://haproxy ip:1080/haproxyadmin?stats,然后输入stats auth处配置的用户名和密码即可进入统计界面,如果这里不配置stats uri,则默认访问http://haproxy ip:1080/即可打开统计界面
haproxy负载均衡的基本安装和配置就是以上这些,感谢阅读,也欢迎补充.
haproxy负载均衡的安装配置的更多相关文章
- [记录]HAproxy负载均衡配置教程
HAproxy负载均衡配置教程 一.简介 haproxy是一个开源的高性能负载均衡软件:支持双机热备.虚拟主机和图形化的管理界面,自带强大的对RS健康检查功能:支持TCP(四层).HTTP(七层)应用 ...
- linux 常用命令 和 nginx(反响代理、负载均衡)安装和配置
(1)linux常用命令 [1]在光标前输入内容:i [2]删除输入方式下所输入的文本:Ctrl+u [3]文件保存退出:wq [4]文件不保存退出:q [5]文件强制退出:q! [6]常规删除文件 ...
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解
PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解(转)
PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解(转)
PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...
- (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解
PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...
- Nginx/LVS/HAProxy 负载均衡软件的优缺点详解
Nginx/LVS/HAProxy 负载均衡软件的优缺点详解 Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验 ...
- rabbitmq3.6.5镜像集群搭建以及haproxy负载均衡
一.集群架构 后端75.103.69分别是3台rabbitmq节点做镜像集群,前端103用haproxy作为负载均衡器 二.安装rabbitmq节点 参照 https://www.cnblogs.co ...
- HAProxy详解(三):基于虚拟主机的HAProxy负载均衡系统配置实例【转】
一.基于虚拟主机的HAProxy负载均衡系统配置实例 1.通过HAProxy的ACL规则配置虚拟主机: 下面将通过HAProxy的ACL功能配置一套基于虚拟主机的负载均衡系统.这里操作系统环境为:Ce ...
随机推荐
- 关于java中Stream理解
关于java中Stream理解 Stream是什么 Stream:Java 8新增的接口,Stream可以认为是一个高级版本的Iterator.它代表着数据流,流中的数据元素的数量可以是有限的, 也可 ...
- django----数据库操作(对model增删改查)
优化查询 articles_list=models.Article.objects.all().iterator() for i in articles_list: print(i.title) 添加 ...
- 性能测试六:jmeter进阶之Cookie与header管理器
一.http cookie管理器 可以在浏览器中抓取到cookie信息,然后通过http cookie管理器为http请求添加cookie信息 添加cookie管理器后,Jmeter可以自动处理coo ...
- python 全栈开发,Day122(人工智能初识,百度AI)
一.人工智能初识 什么是智能? 我们通常把人成为智慧生物,那么”智慧生物的能力”就是所谓的”智能”我们有什么能力?听,说,看,理解,思考,情感等等 什么是人工智能? 顾名思义就是由人创造的”智慧能力” ...
- hdu 2197 求长度为n的本原串 (快速幂+map)
Problem Description由0和1组成的串中,不能表示为由几个相同的较小的串连接成的串,称为本原串,有多少个长为n(n<=100000000)的本原串?答案mod2008.例如,10 ...
- Delphi自动适应屏幕分辨率的属性
https://www.cnblogs.com/zhangzhifeng/category/835602.html 这是个困惑我很长时间的问题,到今天终于得到解决了. 话说Delphi有个很强的窗体设 ...
- #14 [BZOJ2090/2089] [Poi2010]Monotonicity 2/Monotonicity
题解: 首先想到了标算..然后证明了一发是错的(事实证明很智障) 先说正确性比较显然的O(n^2)算法 令f[i][j]表示前i个物品,匹配到第j个括号,最大值是多少 g[i][j]表示前i个物品,匹 ...
- openstack学习-nove控制节点部署(四)
nove在openstack非常重要,主要负责创建虚拟机 nova计算服务 API :负责接收和响应外部请求.支持openstack API,EC2 API Cert:负责身份认证EC 2 Sched ...
- 详解如何在 Linux 中安装最新的 Python 3.6 版本
# 下载源码包安装,先装wget,或curl. yum install wget # 再安装解压缩和编译环境: yum install zlib-devel bzip2-devel openssl-d ...
- Asp.Net Core 2.0 项目实战(3)NCMVC角色权限管理前端UI预览及下载
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...