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.1.tar.gz
cd haproxy-1.8.1/

  这里不用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 4000
    user haproxy
    group haproxy
    daemon
    # nbproc 1
defaults
    mode http
    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 30000
# 界面统计
listen stats
    mode http
    bind 0.0.0.0:1080
    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 *:80
    mode http
    log global
    option httpclose
    option logasap
    option dontlognull
    capture request header Host len 20
    capture request header Referer len 60
    default_backend servers

# 后端服务器配置
backend servers
    balance roundrobin # leastconn
    server server1 192.168.1.111:80 check maxconn 2000
    server server2 192.168.1.112:80 check maxconn 2000
    server server3 192.168.1.113:80 check maxconn 2000
    
复制代码

  上面这些基本上都是标准配置,也很容易懂,主要的配置就是均衡器绑定的地址和端口,后端服务的列表,最大连接数,和均衡算法这些配置;现在要将这个配置文件放到服务器上,这里放到了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负载均衡的基本安装和配置就是以上这些,感谢阅读,也欢迎补充.

本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/freeweb/p/8074806.html,如需转载请自行联系原作者


相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
6月前
|
负载均衡 算法 应用服务中间件
百度搜索:蓝易云【Linux系统如何使用 HAProxy、Nginx 和 Keepalived 进行负载均衡?】
通过上述步骤,你可以在Linux系统中使用HAProxy、Nginx和Keepalived来实现负载均衡。这些工具可以帮助你将流量分配到多个后端服务器上,提高系统的性能、可靠性和可扩展性。
87 0
|
5月前
|
负载均衡 前端开发 网络协议
Keepalived+HAProxy 搭建高可用负载均衡(二)
Keepalived+HAProxy 搭建高可用负载均衡
|
5月前
|
负载均衡 算法 调度
Keepalived+HAProxy 搭建高可用负载均衡
Keepalived+HAProxy 搭建高可用负载均衡
216 0
|
5月前
|
负载均衡 算法 应用服务中间件
Haproxy负载均衡
Haproxy负载均衡
|
6月前
|
负载均衡 前端开发 应用服务中间件
企业实战(22)基于Haproxy负载均衡+Keepalived高可用集群实战详解
企业实战(22)基于Haproxy负载均衡+Keepalived高可用集群实战详解
|
11月前
|
运维 负载均衡 监控
在 Linux 中如何使用 HAProxy、Nginx 和 Keepalived 进行负载均衡?
在 Linux 中如何使用 HAProxy、Nginx 和 Keepalived 进行负载均衡?
671 0
在 Linux 中如何使用 HAProxy、Nginx 和 Keepalived 进行负载均衡?
|
负载均衡 网络协议 算法
配置 haproxy 负载均衡群集(二)
本文将要介绍一款比较流行的群集调度工具。首先介绍负载均衡常用调度算法,然后介绍Haproxy搭建web群集的方法。
配置 haproxy 负载均衡群集(二)
|
负载均衡 算法 网络协议
配置 haproxy 负载均衡群集(一)
本文将要介绍一款比较流行的群集调度工具。首先介绍负载均衡常用调度算法,然后介绍Haproxy搭建web群集的方法。
配置 haproxy 负载均衡群集(一)
|
负载均衡 监控 NoSQL
keepalived+haproxy+redis-cluster 高可用负载均衡redis集群搭建
keepalived+haproxy+redis-cluster 高可用负载均衡redis集群搭建
524 0
keepalived+haproxy+redis-cluster 高可用负载均衡redis集群搭建
|
负载均衡 网络协议 算法
Haproxy负载均衡集群(下)
一、常见的Web集群调度器 目前常见的Web集群调度器分为软件和硬件: 软件通常使用开源的LVS、Haproxy、 Nginx
162 0