1. 编译安装haproxy

官网: http://www.haproxy.org

1.1 下载haproxy

# wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.14.tar.gz

1.2 解压haproxy

# .tar.gz

1.3 查看编译方法

# less README

下面选自README
To build haproxy, you have to choose your target OS amongst the following ones
and assign it to the TARGET variable :

  - linux22     for Linux 2.2
  - linux24     for Linux 2.4 and above (default)
  - linux24e    for Linux 2.4 with support for a working epoll (> 0.21)
  - linux26     for Linux 2.6 and above
  - linux2628   , .x, and above (enables splice and tproxy)
  - solaris      or  (others untested)
  - freebsd      to  (others untested)
  - netbsd      for NetBSD
  - osx         for Mac OS/X
  - openbsd     for OpenBSD 3.1 and above
  - aix51       for AIX 5.1
  - aix52       for AIX 5.2
  - cygwin      for Cygwin
  - generic     for any other OS or version.
  - custom      to manually adjust every setting

By default, the DEBUG variable is set to '-g' to enable debug symbols. It is
not wise to disable it on uncommon systems, because it's often the only way to
get a complete core when you need one. Otherwise, you can set DEBUG to '-s' to
strip the binary.

For example, I use this to build  :

    $ 

And I build it this way on OpenBSD or FreeBSD :

    $ gmake TARGET=freebsd USE_PCRE= USE_OPENSSL= USE_ZLIB=

And on a classic Linux with SSL and ZLIB support (eg: Red Hat .x) :

    $  USE_OPENSSL= USE_ZLIB=

And on a recent Linux >=  with SSL and ZLIB support :

    $  USE_OPENSSL= USE_ZLIB=

In order to build a -bit binary on an x86_64 Linux system with SSL support
without support for compression but when OpenSSL requires ZLIB anyway :

    $  ADDLIB=-lz

1.4 安装:

#  USE_OPENSSL= USE_ZLIB=
安装方法是根据自己内核版本来了,具体查看内核的方法:
# uname -a

# make install PREFIX=/usr/local/haproxy

2. haproxy最简单的配置

2.1 拷贝配置文件

# mkdir -p /usr/local/haproxy/conf/
# cp -a examples/content-sw-sample.cfg /usr/local/haproxy/conf/
# mv /usr/local/haproxy/conf/content-sw-sample.cfg /usr/local/haproxy/conf/http_haproxy.conf

配置配置文件如下

# cat http_haproxy.conf | grep -v "#"

global
        maxconn
        log             127.0.0.1 local0
        uid
        gid
        chroot          /usr/local/haproxy/var
        daemon

frontend public
        bind             name clear
        mode            http
        default_backend dynamic
        timeout client  30s

backend dynamic
        mode            http
        timeout connect 5s
        timeout server  30s
        timeout queue   30s
        balance         roundrobin
        server          server_01  minconn  maxconn  check inter
        server          server_02  minconn  maxconn  check inter
# 

2.2 检查语法

# ./haproxy -f /usr/local/haproxy/conf/http_haproxy.conf -c
Configuration file is valid
#

2.3 测试访问

# netstat -tulnp | grep haproxy
tcp                          /./haproxy
#

# curl -I http://192.168.31.243:81/
HTTP/ OK
Server: nginx/
Date: Mon,  Jan  :: GMT
Content-Type: text/html
Content-Length:
Last-Modified: Tue,  Dec  :: GMT
ETag: "5c1898d6-27c"
Accept-Ranges: bytes

# curl -I http://192.168.31.243:80
HTTP/ OK
Server: nginx/
Date: Mon,  Jan  :: GMT
Content-Type: text/html
Content-Length:
Last-Modified: Tue,  Dec  :: GMT
Connection: keep-alive
ETag: "5c1898d6-27c"
Accept-Ranges: bytes

# 

3. 出现的问题和解决的办法

3.1 haproxy 默认log不输出的问题

在haproxy配置文件中,指定了 log 输出为 local0 之后,同时也在 /etc/rsyslog.conf 配置了

local0.*                                                /var/log/haproxy.log

发现还是不行,最后发现UDPServer未开启导致的,

# cat /etc/rsyslog.conf | grep "UDPServerRun"
$UDPServerRun
#

UDPServerRun 514 需要打开
验证是否打开
# netstat -tulnp | grep 514
udp        0      0 0.0.0.0:514                 0.0.0.0:*                               2772/rsyslogd
udp        0      0 :::514                      :::*                                    2772/rsyslogd
# 

 

负载均衡器之 Haproxy的更多相关文章

  1. 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比

    本文出自 “抚琴煮酒” 博客,出处http://andrewyu.blog.51cto.com/1604432/697466   现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶 ...

  2. Haproxy原理(1)

    一.四层和七层负载均衡的区别 所谓的四层就是ISO参考模型中的第四层.四层负载均衡也称为四层交换机,它主要是通过分析IP层及TCP/UDP层的流量实现的基于IP加端口的负载均衡.常见的基于四层的负载均 ...

  3. 关于haproxy

    高性能负载均衡软件 haproxy 一.四层和七层负载均衡的区别: 所谓的四层就是OSI参考模型中的第四层,四层负载均衡也称为四层交换机,他主要是通过分析IP层及TCP/UDP层的流量实现的基于IP加 ...

  4. PXC5.7(Percona XtraDB Cluster)+HAproxy+Keepalived 集群部署

    Percona-XtraDB-Cluster+Haproxy 搭建集群环境 环境准备及服务器信息: 配置防火墙 firewall-cmd --add-port=3306/tcp --permanent ...

  5. HAProxy详解(一):HAProxy介绍【转】

    一.高性能负载均衡软件HAProxy介绍: 随着互联网业务的迅猛发展,大型电商平台和门户网站对系统的可用性和可靠性要求越来越高,高可用集群.负载均衡集群成为一种热门的系统架构解决方案.在众多的负载均衡 ...

  6. HAProxy从零开始到掌握

    转自:https://www.jianshu.com/p/c9f6d55288c0 目录: HAProxy是什么 HAProxy的核心能力和关键特性 HAProxy的安装和运行 使用HAProxy搭建 ...

  7. 1、代理服务器及haproxy基础

    1.web站点架构 前端一台主机提供app server,当用户请求到达时,如果要存储结构化数据,就需要找一台主机做database server.当业务达到一定程度时,要把web server.存储 ...

  8. [转]Haproxy原理(1)

    本文出处:https://www.cnblogs.com/skyflask/p/6970151.html 目录 一.四层和七层负载均衡的区别二.HAProxy与LVS的异同三.快速安装HAProxy集 ...

  9. Haproxy基础知识 -运维小结

    开源软件负载均衡器 现在常用的三大开源软件负载均衡器分别是Nginx.LVS.Haproxy. 在之前的文章中已经对比了这三个负载均衡软件, 下面根据自己的理解和使用经验, 再简单说下这三个负载均衡软 ...

随机推荐

  1. openstack使用openvswitch实现vxlan的方法

    openstack使用openvswitch实现vxlan,分享给大家,具体如下: openstack环境: 1 版本:ocata 2 系统:ubuntu16.04.2 3 控制节点 1个 + 计算节 ...

  2. 知识点---js监听手机返回键,回到指定界面

    方法一. $(function(){ pushHistory(); window.addEventListener(“popstate”, function(e) { window.location ...

  3. CR--同事分享学习

    1.持续发布是什么? 频繁地将软件的新版本,交付给质量团队或者用户,以供评审. 2.对接持续发布需要具备什么条件? 1)  测试自动化程度较高,持续发布的终态是不需要人工介入 2)  做到持续集成,持 ...

  4. sublime安装PackageControl提示失败(被墙了)

    An error occurred installing Package Control 然后下面又说visit....某网址 如果弹出这个错误的话,就是被墙了.翻个墙或者改hosts就行了 如果是改 ...

  5. 项目总结20:阿里云免费https证书申请

    项目总结20:阿里云免费https证书申请 1. 登录阿里云控制台 www.aliyun.com,用账户信息登录 2. 在”产品与服务”搜索SSL,选择SSL证书 3. 点击购买证书 4. 选择” S ...

  6. 4-19 css属性

    1. margin 简写属性在一个声明中设置所有外边距属性.该属性可以有 1 到 4 个值. 说明 这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度. 块级元素的垂直相邻外边距会合 ...

  7. 机器学习(五)--------正则化(Regularization)

    过拟合(over-fitting) 欠拟合 正好 过拟合 怎么解决 1.丢弃一些不能帮助我们正确预测的特征.可以是手工选择保留哪些特征,或者使用一 些模型选择的算法来帮忙(例如 PCA) 2.正则化. ...

  8. 两个Integer比较

    两个Integer类型比较不能使用==,要使用equals,   == 在-127~128是可以用的,超出这个范围就不行 public static void main(String[] args) ...

  9. ElasticSearch聚合(转)

    ES之五:ElasticSearch聚合 前言 说完了ES的索引与检索,接着再介绍一个ES高级功能API – 聚合(Aggregations),聚合功能为ES注入了统计分析的血统,使用户在面对大数据提 ...

  10. Golang:接口(interface)

    Go中没有class的概念.Go 语言中使用组合实现对象特性的描述.对象的内部使用结构体内嵌组合对象应该具有的特性,对外通过接口暴露能使用的特性.Go 语言的接口设计是非侵入式的,接口不知道接口被哪些 ...