HaProxy安装配置入门学习

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

安装
 
安装介质

从HaProxy官方网站下载最稳定的发布版本(1.4.25)源码包;使用源码包的好处是可以在不同的Linux环境上进行编译安装。

haproxy-1.4.25.tar.gz

环境准备

HaProxy支持大多数的Linux OS, 我选择开源的操作系统Ubuntu Server 14.04(64Bites),当然选择SUSE或RadHat也没有问题。如果没有Linux环境,可以安装虚拟软件(如VMWare)创建虚拟机并安装操作系统,由于Ubuntu比较小巧,占用资源较少,比较适合在本机虚拟化环境中运行。当然,现在的PC配置较高一般的Linux OS可以安装几台都不成问题。

查看源码包下面的README文件,可以知道HAProxy所支持的OS:

- 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  for Linux 2.6.28 and above (enables splice and tproxy)

- solaris    for Solaris 8 or 10 (others untested)

- freebsd    for FreeBSD 5 to 8.0 (others untested)

- osx        for Mac OS/X

- openbsd    for OpenBSD 3.1 to 5.2 (others untested)

- aix52      for AIX 5.2

- cygwin      for Cygwin

- generic    for any other OS.

- custom      to manually adjust every setting

安装过程

(1)    解压安装包

如果你的本地环境是Linux,那就直接解压安装包;或者使用的是虚拟机,则把安装包上传至虚拟机(可以使用Xftp软件或Linux scp命令);如果虚拟机可以连接Internet,也可以在虚拟机里直接下载HaProxy源码安装包;把准备好的源码安装包解压缩;

(2)    源码包目录结构

HaProxy安装配置入门学习

CHANGELOG : 版本变更信息,记录新增更能、BUG修改等信息

doc : 文档

example : 配置示例

tests : 测试用例(配置文件)

include : 依赖类库

ebtree : 类库

src : 源代码(c)

(3)    编译源码

与一般编译安装源码程序不同,HaProxy安装不需要执行configure操作,在其安装包根目录下可以发现不存在configure脚本;执行make命令编译源码;

make TARGET=linux26 PREFIX=/opt/programs/haproxy-1.4.25

PREFIX指定安装程序的根目录,如果不指定则安装到系统默认目录下,编译结束根目录下多了一个可执行的文件:haproxy,就是核心程序,执行该命令可以启动HaProxy进程(当然要先准备好配置文件)。

HaProxy安装配置入门学习

(4)    安装

执行make install安装编译产物。

查看安装结果:

HaProxy安装配置入门学习

配置

HAProxy源码安装包中带有配置示例和技术文档,可以参考学习。以下举例配置最常用的两种代理HTTP和TCP。

HTTP

环境准备

Apache-tomcat

 

192.168.226.128:8080

 

Apache-tomcat

 

192.168.226.129:8080

 

配置文件

global

daemon

maxconn 256

defaults

mode http

timeout connect 5000ms

timeout client 50000ms

timeout server 50000ms

listen http-in

bind *:80

server server1 192.168.226.128:8080 maxconn 32

server server2 192.168.226.129:8080 maxconn 32

测试

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/18136a3ab2c4c2171384fc713c0216bd.html