Haproxy实现大并发web高可用群集部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Haproxy实现大并发web高可用群集部署相关的知识,希望对你有一定的参考价值。

                                    Haproxy web群集部署

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理,HAProxy实现了一种 单一进程模型,此模型支持非常大的并发连接数多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。                             

部署环境:

主机

IP地址

主机名

软件

操作系统

Haproxy服务器

192.168.1.10

Haproxy

Haproxy-1.4.24

Centos-6.5

nginx1服务器

192.168.1.20

Nginx1

Nginx-1.6.2

Centos-6.5

Nginx2服务器

192.168.1.30

Nginx2

Nginx-1.6.2

Centos-6.5

客户机

192.168.1.40

Khj

IE浏览器

Centos-6.5

技术分享 

编译安装测试nginx

修改ip地址 移走yum仓库,在下面搭建新的本地yum仓库 创建nginx软件包存放文件

技术分享 

挂载nginx光盘 cp/nginx

技术分享 

搭建本地yum仓库

技术分享 

yum文件nginx.repo内容:

技术分享 

进入/nginx目录tar nginx软件包 创建nginx用户名,

技术分享 

编译安装nginx

技术分享 

建立测试nginx页面,启动nginx服务,查看nginx端口是否启动

技术分享 

设置iptables防火墙策略,允许80号端口通过

技术分享 

注:配置nginx1服务器跟上面nginx2配置一样,按照上面步骤执行就可以

使用客户机访问nginx两台服务器

技术分享 

技术分享 

编译安装haproxy

搭建本地yum仓库安装haproxy依赖包

技术分享 

技术分享 

tar haproxy软件包,编译安装

技术分享 

TARGET=linux26代表64位操作系统

建立haproxy配置文件

技术分享 

配置haproxy服务器文件  配置文件主要分为global全局配置、defaults默认配置、listen应用组件配置

配置haproxy文件、创建自启动脚本、设置软连接

技术分享 

haproxy.cfg配置文件内容如下:

global

        log 127.0.0.1   local0  配置日志记录,local0为日志设备,默认存放在系统日志中

        log 127.0.0.1   local1 notice  notice为日志级别,通常为24个级别

        #log loghost    local0 info    

        maxconn 4096              最大连接数

        #chroot /usr/share/haproxy   

        uid 99                     用户uid

        gid 99                     用户uid

        daemon

        #debug

        #quiet

 

defaults

        log     global            定义日志为globel配置中的日志定义

        mode    http            模式为http

        option  httplog           采用http日志格式记录日志

        option  dontlognull      

        retries 3            检查节点失败次数,连续达到三次失败,会认为节点不可用

        maxconn 2000       最大连接数

        contimeout      5000   连接超时时间

        clitimeout      50000   客户端超时时间

       srvtimeout      50000   服务器超时时间

       option httpclose

listen  webcluster 0.0.0.0:80    定义一个webcluster应用

        option httpchk GET /index.html  检查服务器的index.html

        balance roundrobin            负载均衡调度算法使用轮询算法

        server inst1 192.168.1.20:80 check inter 2000 fall 3   定义的在线节点

        server inst2 192.168.1.30:80 check inter 2000 fall 3   如果在后面加bachak就成为备份节点

启动haproxy服务,关闭防火墙或配置策略

技术分享 

在客户机上测试web群集是否实现高性能,高可用(把nginx1宕掉)

技术分享 

技术分享 

配置haproxy日志

Haproxy的日志默认是保存到系统的syslog中,查看起来不方便,所以我们在生产环境中可以将日志单独存储到不同的文件中,配置如下

首先修改配置文件,主要改下面的部分

技术分享 

然后修改rsyslog配置,将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d下,rsyslog启动时会自动加载此目录下所有的配置文件

技术分享 

配置内容如下:

if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘info‘) then -/var/log/haproxy/haproxy-info.log

$ ~

if ($programname ==  ‘haproxy‘ and  $syslogseverity-text == ‘notice‘) then -/var/log/haproxy/haproxy-notice.log

$ ~

重启rsyslog服务,并且查看haproxy访问信息

技术分享 


本文出自 “centos7” 博客,请务必保留此出处http://12832314.blog.51cto.com/12822314/1945751

以上是关于Haproxy实现大并发web高可用群集部署的主要内容,如果未能解决你的问题,请参考以下文章

Haproxy实现web的高可用及负载均衡群集

haproxy+keepalived高可用群集

Haproxy负载均衡部署(高可用,高负载)!

Haproxy负载均衡部署(高可用,高负载)!

HaProxy+Keepalived+Mycat高可用群集配置

HaProxy+Keepalived+Mycat高可用群集配置