文档章节

haproxy 7层负载均衡代理转发实战讲解(二)-老男孩笔记系列

Andy-xu
 Andy-xu
发布于 2014/08/30 13:12
字数 787
阅读 107
收藏 0

接上文 haproxy 7层负载均衡代理转发实战讲解(一)-老男孩笔记系列
http://oldboy.blog.51cto.com/2561410/597523
#########################################################
# haproxy
#date:2010-06-09
#作者:老男孩---《老男孩linux就业培训中心 》
#QQ:31333741 MAIL:oldboy521@hotmail.com
#QQ交流群:45039636   
#blog: http://oldboy.blog.51cto.com
#psite: http://oldboy.cc(即将开放)
#pblog:http://blog.etiantian.org
##########################################################

� 3 配置haproxy L7负载均衡-之根据URL地址目录转发

●3.1 准备RS SERVER测试环境

建立测试目录:
for name in php nginx pic ;do mkdir -p /var/$name/$name;echo $name >/var/$name/$name/index.html;done

配置http服务
删除上面做的任何apache配置(或者还原httpd.conf)
[root@ha2 conf]# cd /etc/httpd/conf
[root@ha2 conf]# /bin/cp httpd.conf.oldboy.110625  httpd.conf

然后编辑httpd.conf 最下面加
<Directory "/var">
    Options FollowSymLinks
    AllowOverride none
    Order allow,deny
    Allow from all
</Directory>

Listen 8080
Listen 8090

NameVirtualHost *:80
NameVirtualHost *:8080
NameVirtualHost *:8090
<VirtualHost *:80>
        ServerAdmin
49000448@qq.com
        ServerName
www.etiantian.org
        ServerAlias etiantian.org
        DocumentRoot "/var/nginx"
</VirtualHost>
<VirtualHost *:8080>
        ServerAdmin
49000448@qq.com
        ServerName
www.etiantian.org
        DocumentRoot "/var/php"
</VirtualHost>
<VirtualHost *:8090>
        ServerAdmin
49000448@qq.com
        ServerName
www.etiantian.org
        DocumentRoot "/var/pic"
</VirtualHost>


● 3.2 基于目录转发的haproxy配置
frontend oldboy_test
        bind *:80
        acl short_domain hdr(Host) -i etiantian.org
        redirect prefix
http://www.etiantian.org code 301 if short_domain

        #acl lang_domain hdr(Host) -i www.etiantian.org
        #use_backend staticpools if lang_domain

        default_backend staticpools

#http://www.etiantian.org/nginx/...,提供静态内容访问(htm,html,css,js)
backend staticpools
        balance roundrobin
        server oldboy-1 10.0.0.151:80 check port 80 inter 3000 fall 3
        server oldboy-2 10.0.0.151:81 check port 81 inter 3000 fall 3
        server oldboy-3 10.0.0.151:82 check port 82 inter 3000 fall 3

#提示:后面两个rs是虚构的,只是告诉大家可以这样加server.有没有都不会影响访问。以下同。

#http://www.etiantian.org/php/... 提供动态内容访问(以*.php结尾)
backend dynamicpools
        balance roundrobin
 cookie SERVERID insert indirect
        server oldboy-4 10.0.0.151:8080 maxconn 2048 weight 50  cookie A check port 8080 inter 3000 fall 3
        server oldboy-5 10.0.0.151:8180 maxconn 2048 weight 100 cookie B check port 8180 inter 3000 fall 3
        server oldboy-6 10.0.0.151:8280 maxconn 2048 weight 100 cookie C check port 8280 inter 3000 fall 3
        #列出更详细的参数,供大家参考使用。
#http://www.etiantian.org/pic/... 提供图片内容访问(以*.jpg,*.png,*.gif等结尾)
backend picpools
        balance roundrobin
        server oldboy-7 10.0.0.151:8090 check port 8090 inter 3000 fall 3
        server oldboy-8 10.0.0.151:8190 check port 8190 inter 3000 fall 3
        server oldboy-9 10.0.0.151:8290 check port 8290 inter 3000 fall 3
#提示:server后面的名称是自己定义的,名称不要重复就好。

当多台服务器时,每个池子可配置成如下形式:
cookie SERVERID insert indirect
server oldboy-1 10.0.0.163:8080 cookie ett-1-1 check port 8080 inter 3000 fall 3

配置基于URL的健康检查
option httpchk HEAD /checkstatus.jsp HTTP/1.0

●3.3 配置用户端hosts
10.0.0.162
www.etiantian.org
提示:10.0.0.162 为haproxy的IP,这里是模拟DNS的解析,实际配置时,在DNS里解析即可


●3.4 在用户端进行访问测试
  3.4.1 查看hosts解析是否正确
C:\Documents and Settings\hyran>ping
www.etiantian.org

Pinging www.etiantian.org [10.0.0.162] with 32 bytes of data:

Reply from 10.0.0.162: bytes=32 time=5ms TTL=64
Reply from 10.0.0.162: bytes=32 time<1ms TTL=64
Reply from 10.0.0.162: bytes=32 time<1ms TTL=64
   3.4.2 测试URL地址 看是否符合预期要求
分别访问:
http://www.etiantian.org/nginx/
http://www.etiantian.org/php/
http://www.etiantian.org/pic/
如果能返回对应自己目录的内容,那恭喜你,搞定了。

本文出自 “老男孩linux运维” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/603627

本文转载自:http://oldboy.blog.51cto.com/2561410/603627

Andy-xu
粉丝 113
博文 105
码字总数 197073
作品 0
大兴
运维
私信 提问
使用Haproxy做Percona XtraDB Cluster或Mariadb Galera Cluster的负载均衡器

环境情况: 系统:CentOS release 6.4 (Final),2.6.32-358.el6.x86_64 haproxy版本:1.4.25 haproxy节点:10.0.60.190 mysql集群:10.0.60.104(mariadb01)、10.0.60.105(mariadb02)、10.0.......

AnthonyYau
2014/06/09
3.8K
0
haproxy,能够实现将来自用户的80端口的http请求转发至后端8000上的server服务

部署配置haproxy,能够实现将来自用户的80端口的http请求转发至后端8000上的server服务,写出其配置过程。 HAPorxy 是免费的、极速且可靠的用于为TCP和基于HTTP应用程序提供高可用、负载均衡...

春天的金缕
2018/06/27
0
0
基于docker的haproxy的反向代理

haproxy介绍 haproxy的工作模型如下图,对于应用服务器而言,haproxy为应用服务器的流量入口,外部流量流经haproxy,haproxy跟需要可以提供L4(IP+PORT,报文解析到传输层tcp、udp)或者L7(...

流浪的猪猪
2018/11/03
0
0
高可用高性能负载均衡软件HAproxy详解指南-第一章(简介、安装)

第一章:HAproxy简介及安装配置 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 目录 HAproxy简介 为什么要使用HAproxy haproxy 性能特点 负...

好笔记运维
2018/06/26
0
0
基于keepalived的Haproxy高可用配置

一、概述: HAProxy是一个用于4层或7层的高性能负载均衡软件,在大型网站的大型Web服务器群集中,HAProxy可用来替代专业的硬件负载均衡设备,节省大量的开支。 通常情况下,为了避免整个体系...

OutManLinux
2018/07/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot全家桶,集成shiro,rabbitmq,redis, mybatis,druid,swagger

搭建了一个SpringBoot的模板,下载即可作为单体应用的服务后台模板 项目地址:https://gitee.com/devilscode/springboot_template 项目集成框架 springboot 作为基础框架 shiro 权限管理 ra...

devils_os
8分钟前
2
0
云服务器的优势有哪些?

与传统的服务器相比,云服务器有多种显著的优势,因此近年来云服务器租用一直都很受消费者的欢迎。 那么云服务器都有哪些优势呢? 云服务器的稳定性很好 虚拟主机是很多用户建站的首选方案,这...

云漫网络Ruan
9分钟前
2
0
好程序员web前端学习路线分享CSS浮动-清除浮动篇

好程序员web前端学习路线分享CSS浮动-清除浮动篇,为什么要清除浮动   这里所说的清除浮动,并不是不要浮动了,而是清除浮动与浮动之间的影响。那么到底会有什么影响呢? 1.高度塌陷   ...

好程序员官方
19分钟前
1
0
我有酒,你有故事吗?

记录学习的每一秒,巨杉技术社区有奖征文全新启动! 如果, 你热爱数据技术,乐于尝(zhe)试(teng), 又喜欢写点什么~ 那么, 无论你是架构大佬,还是DBA大神, 只要你愿意通过文字分享你...

巨杉数据库
23分钟前
1
0
【Git】ignore文件不生效

简介 使用git的过程中, 某些文件可能不希望上传到服务器,例如日志、本地化配置等信息。这时候,我们可以通过配置.gitignore文件忽略这些文件的提交。 配置.gitignore 常见的配置如下: HELP...

Areya
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部