前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Haproxy+web实现负载均衡实战

Haproxy+web实现负载均衡实战

作者头像
菲宇
发布2019-06-12 16:39:33
发布2019-06-12 16:39:33
93900
代码可运行
举报
文章被收录于专栏:菲宇菲宇
运行总次数:0
代码可运行

环境

操作系统centos7.3 ip:192.168.0.130

docker下部署一个haproxy容器,两个tomcat容器

测试方便,关闭selinux、关闭iptables

一、安装docker

安装和启动docker,请参照Centos7安装Docker最新版

二、部署配置web服务器

1、部署tomcat

代码语言:javascript
代码运行次数:0
运行
复制
docker run -d -p 8081:8080 --name tomcat1 tomcat
docker run -d -p 8082:8080 --name tomcat2 tomcat

2、创建新首页

vi index.jsp

this is tomcat1 #分别修改为1、2方便识别

3、将新首页分别复制到tomcat容器内

代码语言:javascript
代码运行次数:0
运行
复制
docker cp index.jsp tomcat1:/usr/local/tomcat/webapps/ROOT/index.jsp
docker cp index.jsp tomcat2:/usr/local/tomcat/webapps/ROOT/index.jsp

4、测试

这样两个个web服务创建成功!

二、部署配置haproxy

1、准备haproxy.cfg配置文件

代码语言:javascript
代码运行次数:0
运行
复制
global
    log /dev/log    local0
    log /dev/log    local1 notice
#    chroot /var/lib/haproxy
    stats socket /var/run/haproxy-admin.sock mode 660 level admin
    stats timeout 30s
#    user haproxy
#    group haproxy
    daemon
    nbproc 1

defaults
    log     global
    timeout connect 5000
    timeout client  10m
    timeout server  10m

listen  admin_stats
    bind 0.0.0.0:1080
    mode http
    log 127.0.0.1 local0 err
    stats refresh 30s
    stats uri /status
    stats realm welcome login\ Haproxy
    stats auth admin:123456 #登录http://192.168.0.130:1080/status 管理页的账号密码
    stats hide-version
    stats admin if TRUE

listen kube-master
    bind 0.0.0.0:1080
    mode tcp
    option tcplog
    balance roundrobin
    server tomcat 192.168.0.130:8081 check inter 2000 fall 2 rise 2 weight 1
    server tomcat1 192.168.0.130:8082 check inter 2000 fall 2 rise 2 weight 1

2、部署haproxy

代码语言:javascript
代码运行次数:0
运行
复制
docker run -d -p  1080:1080  /src/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg haproxy

3、浏览haproxy状态管理页

http://192.168.0.130:1080/status

账号:admin 密码:123456

4、测试负载均衡请求

代码语言:javascript
代码运行次数:0
运行
复制
[root@master ~]# while true; do wget -O - -q http://192.168.0.130:1080;sleep 3; done

出现

代码语言:javascript
代码运行次数:0
运行
复制
this is tomcat1
this is tomcat2
this is tomcat1
this is tomcat2
this is tomcat1
this is tomcat2
this is tomcat1
this is tomcat2
this is tomcat1

说明配置成功

从上述结果可知,前端对1080端口的请求,被Haproxy的负载均衡器,均衡请求到后端8081、8082端口。

这样当两个中的一个出现故障,流量则能正常分发到剩余那个正常的web上,从来提高了系统可靠性。

在单个服务器上安装也是同理,各自默认安装并根据上述的配置文件即可实现。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年10月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 一、安装docker
  • 二、部署配置web服务器
  • 二、部署配置haproxy
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档