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访问信息

时间: 2024-08-27 12:24:36

Haproxy实现大并发web高可用群集部署的相关文章

HAProxy基于KeepAlived实现Web高可用及动静分离

    前言     软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载均衡.LVS是基于Linux操作系统实现的一种软负载,而Haproxy则是基于第三方应用实现的软负载.Haproxy相比LVS的使用要简单很多,但跟LVS一样,Haproxy自己并不能实现高可用,一旦Haprox节点故障,将会影响整个站点.本文是haprox基于keepalived实现web高可用及动静分离.     相关介绍         HAProxy     haproxy是一款提供

LVS + Keepalived 高可用群集部署

简介:keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能--判断LVS负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机修复后将其重新加入群集.Keepalived采用VRRP(Virtual Router Redundancy Protocl,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能. 实验拓扑: 实验环境: 序号 名称 类型 IP地址 1

memcached高可用群集部署

环境部署 服务器角色 IP地址 需要安装的软件包 主缓存服务器 192.168.142.130 Telnet.libevent.memcached.keepalived.magent 从缓存服务器 192.168.142.131 Telnet.libevent.memcached.keepalived 客户端 192.168.142.132 Telnet 第一步:配置memcached主缓存服务器 #挂载软件包 mount.cifs //192.168.142.1/memcached /mnt

高性能反向代理软件HAProxy(三)之高可用

一.实验目的 软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS是基于Linux操作系统实现的一种软负载,而HAProxy则是基于第三方应用实现的软负载.HAProxy相比LVS的使用要简单很多,但跟LVS一样,HAProxy自己并不能实现高可用,一旦HAProxy节点故障,将会影响整个站点.本文带来的是HAProxy基于KeepAlived实现Web高可用及动静分离. 二.实验环境介绍是准备 1.实验拓扑图 2.环境介绍 3.同步时间 [[emai

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

概述 本章节主要介绍配置HaProxy+Keepalived高可用群集,Mycat的配置就不在这里做介绍,可以参考我前面写的几篇关于Mycat的文章. 部署图: 配置  HaProxy安装 181和179两台服务器安装haproxy的步骤一致 --创建haproxy用户 useradd haproxy --解压完后进入haproxy目录 cd haproxy-1.4.25/ --编译安装 make TARGET=linux26 PREFIX=/usr/local/haproxy ARCH=x86

CentOS7.4—构建最新版haproxy高可用群集

CentOS7.4-构建haproxy高可用群集 目录第一部分 实验环境第二部分 搭建配置web服务器第三部分 安装配置haproxy服务器第四部分 测试验证第五部分 haproxy配置相关详细解释 第一部分 实验环境 一台harpoxy调度服务器IP地址:192.168.80.10需要软件:haproxy-1.7.10.tar 两台Web服务器(基于nginx)IP地址:192.168.80.20(web01)IP地址:192.168.80.30(web02)需要软件:nginx-1.13.9

keepalive+haproxy实现web高可用

一)地址配置:上面的图可能有点乱,这里再梳理一下(准备四台主机) 主机1: 172.16.24.100(面向外网的地址) 172.16.24.222(vip地址,传递两台主机的心跳信息) 192.168.24.1  (面向内网的地址) 所需要安装的软件为(keepalived+haproxy) 主机2 172.16.24.66(面向外网的地址) 172.16.24.222(vip地址,传递两台主机的心跳信息) 192.168.24.1  (面向内网的地址) 所需要安装的软件为(keepalive

大型技术网站的技术( 高并发、大数据、高可用、分布式....)(一)

面对高并发.大流量.高可用.海量数据.用户分布广泛.网络情况复杂这类网站系统我们如何应对??? 第一阶段   一台服务器不行就上多台服务器    1.应用程序与数据服务分离        将应用程序.数据库.文件等资源放在一台服务器上,面对海量用户的访问只可能是崩崩崩的挂掉. so? 我们知道的是应用服务器.数据库服务器.文件服务器这三块对服务器的要求是不同的,应用服务器就需要大大的CPU来处理复杂的业务逻辑,数据库服务器需要快速磁盘检索      和 数据缓存也就是要大内存,而文件服务器要求的

Haproxy+Keepalived高可用环境部署梳理(主主和主从模式)

Nginx.LVS.HAProxy 是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,通常会结合Keepalive做健康检查,实现故障转移的高可用功能. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59