详述Haproxy搭建web群集

发布时间:2020-04-03 02:12:36 作者:SiceLc
来源:网络 阅读:2683

常见的Web集群调度器

Haproxy应用分析

LVS在企业应用中抗负载能力强,但存在不足

Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件

Haproxy调度算法原理

Haproxy支持多种调度算法,最常用的有三种

在负载均衡器上安装Haproxy

Haproxy配置文件详解

Haproxy日志管理

Haproxy参数优化

操作实例

实验环境

Haporxy服务器IP地址:192.168.144.175
web1服务器IP地址:192.168.144.151
web2服务器IP地址:192.168.144.176
client测试机

在web1,web2服务器上安装Nginx

[root@web1 ~]# yum install -y \       //安装环境需要组件包
> pcre-devel \                        //开发包
> zlib-devel \                        //压缩包
> gcc \
> gcc-c++ \
> make 
[root@web1 ~]# useradd -M -s /sbin/nologin nginx       //创建系统用户
[root@web1 ~]# mkdir /abc   ##创建挂载点
[root@web1 ~]# mount.cifs //192.168.100.8/LNMP-C7 /abc/       //挂载
Password for root@//192.168.100.3/LNMP-C7:  
[root@web1 ~]# cd /abc/
[root@web1 abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt        //解压
[root@web1 abc]# cd /opt/nginx-1.12.2/
[root@web1 nginx-1.12.2]# ./configure \                      //进行配置
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx
[root@web1 nginx-1.12.2]# make && make install
[root@web1 nginx-1.12.2]# echo "this is kgv web" > /usr/local/nginx/html/test.html      //创建站点网页内容,web2上为this is accp web
[root@web1 nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/             //便于系统识别
[root@web1 nginx-1.12.2]# nginx -t                                                       //检查语法
[root@web1 nginx-1.12.2]# nginx                                                         //开启服务
[root@web1 nginx-1.12.2]# systemctl stop firewalld.service                              //关闭防火墙
[root@web1 nginx-1.12.2]# setenforce 0

在haproxy服务器上安装haproxy调度服务

[root@haproxy ~]# yum install -y \                 //安装环境组件工具
> pcre-devel \
> bzip2-devel \
> gcc \
> gcc-c++ \
> make
[root@haproxy ~]# systemctl stop firewalld.service          //关闭防火墙
[root@haproxy ~]# setenforce 0
[root@haproxy ~]# mkdir /abc
[root@haproxy ~]# mount.cifs //192.168.100.8/LNMP-C7 /abc/         //挂载
[root@haproxy ~]# cd /abc/
[root@haproxy abc]# tar zxvf haproxy-1.5.19.tar.gz -C /opt/          //解压
[root@haproxy abc]# cd /opt/haproxy-1.5.19/
[root@haproxy haproxy-1.5.19]# make TARGET=linux26              //编译
[root@haproxy haproxy-1.5.19]# make install                     //安装
[root@haproxy haproxy-1.5.19]# mkdir /etc/haproxy               //创建配置文件目录
[root@haproxy haproxy-1.5.19]# cp examples/haproxy.cfg /etc/haproxy/            //模板复制到配置目录下
[root@haproxy haproxy-1.5.19]# cd /etc/haproxy/
[root@haproxy haproxy]# vim haproxy.cfg                    //编辑配置文件
#chroot /usr/share/haproxy     //注释语句
#redispatch                    //注释语句
//删除所有listen项目,并添加
listen  webcluster 0.0.0.0:80
                option httpchk GET /test.html       //web网页
                balance roundrobin                  //开启轮询模式
                server inst1 192.168.144.151:80 check inter 2000 fall 3      //健康检查请求三次
                server inst2 192.168.144.176:80 check inter 2000 fall 3
[root@haproxy haproxy]# cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy     //启动文件
[root@haproxy haproxy]# chmod +x /etc/init.d/haproxy                    //执行权限
[root@haproxy haproxy]# chkconfig --add /etc/init.d/haproxy             //添加到service
[root@haproxy haproxy]# ln -s /usr/local/sbin/haproxy /usr/sbin/        //便于系统识别
[root@haproxy haproxy]# service haproxy start                           //开启服务
Starting haproxy (via systemctl):                          [  确定  ]
[root@haproxy haproxy]# netstat -ntap | grep haproxy                         //查看端口
tcp      0     0 0.0.0.0:80       0.0.0.0:*       LISTEN      39884/haproxy 

使用client测试网页

详述Haproxy搭建web群集详述Haproxy搭建web群集

日志定义,修改haproxy配置文件

[root@haproxy haproxy]# vim /etc/haproxy/haproxy.cfg  ##修改配置文件
global
                log /dev/log    local0 info   ##添加两个级别的日志文件
                log /dev/log    local0 notice
                #log loghost    local0 info
[root@haproxy haproxy]# service haproxy restart  ##重启服务
[root@haproxy haproxy]# touch /etc/rsyslog.d/haproxy.conf  ##创建系统日志haproxy配置文件
[root@haproxy 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
&~
[root@haproxy haproxy]# systemctl restart rsyslog.service  ##重启系统日志服务
[root@haproxy haproxy]# cd /var/log/  ##此时是没有haproxy日志
##重新访问网页
[root@haproxy haproxy]# cd /var/log/haproxy/
[root@haproxy haproxy]# ls   ##此时就生成了info级别的日志文件
haproxy-info.log
推荐阅读:
  1. 怎样在Haproxy中搭建Web群集?
  2. 使用Haproxy搭建群集

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux haproxy nginx rox prox

上一篇:win下命令行 ren 重命名时提示 系统找不到文件

下一篇:Springboot 集成JPA 完成接口demo

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》