首页 > 代码库 > haproxy群集搭建web群集

haproxy群集搭建web群集

                        haproxy群集调度器搭建web群集

1haproxy调度器是目前市场上比较流行的群集调度器,当然调度器有好多种类:lvsnginx、和haproxy,接下来对它们进行比较看看它们的优缺点:

lvs:工作在七层模型的4层传输层:根据ip+端口进行访问;不考虑访问的内容,可以任意访问,基于ip地址,能实现所有应用构建的群集,性能好,可以和keepalived完美结合。稳定性能好。健康检查节点服务器性能较好;搭建时结构相对复杂

nginx:工作在7层应用层,根据内容、ip网页进行给用户分配内容,健康检查节点服务器功能较弱,要配合upstream模块可对群集进行管理

haproxy:同样也工作在7层的程序,但它的配置简单,也可以和keepalived完美结合

2haproxyhttp的请求:

分为两种方式:

GET:提交用户的访问,属于明文提交,提交内容不得超过8kb,安全性差

POST: 属于加密传输;安全性较好

通过访问一般反馈给客户端的状态码为:(200.301)如果返回的是(400500)表示发生异常或者错误

3:负载均衡群集的调度算法(lvsnginxharpoxy常用)

1RR:轮询调度算法;根据节点服务器的权重轮询分配访问请求

2LC:最小连接数算法;根据节点服务器的连接数多少分配给连接数最少的节点服务器

3SH: 基于来源访问调度算法法;根据实际环境情况,对访问客户进行有选择的进行连接节点服务器

当然还有许多的web群集调度器;如梭子鱼、绿盟等

4:本次使用的环境案例是两台web服务和一台harpoxy服务器

 

 

编译安装Haproxy

#yum  -y  install pcre-devel  bzip2-devel 解决依赖关系安装关系库

 技术分享

[root@centos1 haproxy-1.4.24]# tar xf /mnt/haproxy-1.4.24.tar.gz -C /usr/src

技术分享 

[root@centos1 haproxy-1.4.24]# cd /usr/src/haproxy-1.4.24

#make TARGET=linux26  使用linux2.6版本内核

#make install

技术分享 技术分享

haproxy服务器配置

1)、建立haproxy的配置文件

#mkdir   /etc/haproxy

技术分享 

#cp  examples/haproxy.cfg   /etc/haproxy/    haproxy文件的模板复制的/etc/haproxy目录中文以后的修改增加便捷

技术分享 

 

#vim   /etc/haproxy/haproxy.cfg   文件的配置内容有三部分 global全局配置、defaults默认配置、listen应用组件配置配置内容如下

global

        log 127.0.0.1   local0

        log 127.0.0.1   local1 notice

        #log loghost    local0 info

        maxconn 4096

#       chroot /usr/share/haproxy

        uid 99

        gid 99

        daemon

        nbproc 4

        #debug

        #quiet

技术分享 

 

defaults

        log     global

        mode    http

        option  httplog

        option  dontlognull

        retries 3

#       redispatch

        maxconn 2000

        contimeout      5000

        clitimeout      50000

        srvtimeout      50000

技术分享 

 listen webcluster 0.0.0.0:80

  option httpchk GET /index.html

  balance roundrobin

  server inst1 192.168.2.2:80 check inter 2000 fall 3

  server inst2 192.168.2.3:80 check inter 2000 fall 3

技术分享 

(2)创建自启动脚本

#cp/usr/src/haproxy-1.4.24/examples/haproxy.init  /etc/init.d/haproxy

技术分享 

# ln -s /usr/local/sbin/haproxy  /usr/sbin/haproxy  做软连接,在环境变量中使用haproxy

技术分享 

# chmod  +x /etc/init.d/haproxy 给文件可执行权限

技术分享 

#service  haproxy   start   

#service  iptables  stop

技术分享 

(3)测试web群集  web1网页内容为how  are you  web2 内容为welcome to beijing 为了测试负载均衡所以将网页内容设置为不同

技术分享技术分享 

(4)haproxy的日志   ;由于haproxy的日志存放在系统日志中不方便管理所以将日志的等级分为不同的日志从放目录:

创建一个关于haproxy的目录为以后的管理方便:

touch  /etc/rsyslog.d/haproxy.conf的文件

技术分享 

在配置/etc/rsyslog.d/haproxy.conf文件之前先修改/etc/haproxy/haproxy.cfg文件内容如下:  完成后重启haproxy服务

技术分享 

vim  /etc/rsyslog.d/haproxy.conf

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服务   service  rsyslog  restart

技术分享 

测试日志信息

# tail -f /var/log/haproxy/haproxy-info.log   tail -f 表示动态刷新,查看

然后在客户机上访问,观察日志

技术分享 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


本文出自 “apache” 博客,请务必保留此出处http://xiaorenwutest.blog.51cto.com/12754924/1918996

haproxy群集搭建web群集