如何使用“HAProxy”设置高可用负载均衡器以控制Web服务器流量

在本教程中,我们将讨论使用HAProxy设置高可用性负载均衡器以控制基于HTTP的应用程序的流量的过程

HAProxy的代表高可用性代理。 它是一个用C编程语言编写的自由和开源应用程序。 HAProxy应用程序用作TCP / HTTP负载均衡器和代理解决方案。 HAProxy应用程序最常见的用途是在多个服务器(例如,Web服务器,数据库服务器等)上分布工作负载,从而提高服务器环境的整体性能和可靠性。

高效,快速的应用程序被许多世界知名的组织使用,包括但不限于 - Twitter,Reddit,GitHub和亚马逊。 它可用于Linux,BSD,Solaris和AIX平台。

在Linux中安装HAProxy

在Linux中安装HAProxy负载均衡器

在本教程中,我们将讨论使用HAProxy的通过分离跨多个服务器的请求来控制基于HTTP的应用程序(Web服务器)的流量建立一个高可用性的负载均衡的过程。

在这篇文章中,我们使用HAProxy的IE版本1.5.10 12月31日2014年而且我们正在使用的CentOS 6.5此设置发布了最新的稳定版本,但是下面给出的说明也适用在CentOS / RHEL / Fedora和Ubuntu / Debian发行版。

我的环境设置

这里有主机名websrv.howtoinglocal.com IP地址为192.168.0.125我们的负载均衡服务器HAProxy的。

HAProxy服务器设置
Operating System	:	CentOS 6.5
IP Address		: 	192.168.0.125
Hostname		: 	websrv.howtoinglocal.com
客户端Web服务器设置

其他四台机器启动并运行与Web服务器,如Apache。

Web Server #1 :	CentOS 6.5 [IP: 192.168.0.121] - [hostname: web1srv.howtoinglocal.com]
Web Server #2 :	CentOS 6.5 [IP: 192.168.0.122] - [hostname: web2srv.howtoinglocal.com]
Web Server #3 :	CentOS 6.5 [IP: 192.168.0.123] - [hostname: web3srv.howtoinglocal.com]
Web Server #4 :	CentOS 6.5 [IP: 192.168.0.124] - [hostname: web4srv.howtoinglocal.com]

第1步:在客户端计算机上安装Apache

1.首先,我们必须在所有四个服务器的安装Apache和共享网站中的任何一个,在所有四个服务器中安装Apache的在这里我们将要使用下面的命令。

# yum install httpd		[On RedHat based Systems]
# apt-get install apache2	[On Debian based Systems]

2.安装在所有四个客户机的Apache Web服务器后,您可以验证是否Apache是通过IP地址,浏览器访问它运行的服务器的任何人。

http://192.168.0.121
检查Apache状态

检查Apache状态

第2步:安装HAProxy Server

3.在大多数今天的现代的Linux发行版,HAProxy的可以很容易地使用默认的包管理的yumapt-get的默认基础信息库安装。

例如,要在RHEL / CentOS / Fedora和Debian / Ubuntu版本上安装HAProxy,请运行以下命令。 在这里,我已经包括OpenSSL软件包也是如此,因为我们要建立与HAProxy的SSL和非SSL支持。

# yum install haproxy openssl-devel	[On RedHat based Systems]
# apt-get install haproxy		[On Debian based Systems]

:在Debian Whezzy 7.0,我们需要通过添加一个新的文件,以使backports中的库backports.list “/etc/apt/sources.list.d/”目录下包含以下内容。

# echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list

接下来,更新存储库数据库并安装HAProxy。

# apt-get update
# apt-get install haproxy -t wheezy-backports

第3步:配置HAProxy日志

4.接下来,我们需要启用日志记录功能在HAProxy的为未来的调试。 您选择的编辑器打开主HAProxy的配置文件“/etc/haproxy/haproxy.cfg”。

# vim /etc/haproxy/haproxy.cfg

接下来,按照特定于发行版的说明在HAProxy中配置日志记录功能。

在RHEL / CentOS / Fedora上

#Global设置 ,启用以下行。

log         127.0.0.1 local2
在Ubuntu / Debian

#Global设置 ,替换以下行,

log /dev/log        local0
log /dev/log        local1 notice 

与,

log         127.0.0.1 local2
启用HAProxy日志记录

启用HAProxy日志记录

5.接下来,我们需要启用“/etc/rsyslog.conf”配置文件系统日志的UDP接待分离在/ var日志文件HAProxy的/ log目录 您选择的编辑器打开你的'rsyslog.conf'文件。

# vim /etc/rsyslog.conf

Uncommnet ModLoadUDPServerRun,这里,我们的服务器会监听端口514到日志收集到系统日志。

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
配置HAProxy日志记录

配置HAProxy日志记录

6.接下来,我们需要创建“/etc/rsyslog.d/”目录下的一个单独的文件“haproxy.conf”配置单独的日志文件。

# vim /etc/rsyslog.d/haproxy.conf

将以下行追加到新创建的文件。

local2.*	/var/log/haproxy.log
HAProxy日志

HAProxy日志

最后,重新启动rsyslog服务以更新新的更改。

# service rsyslog restart