博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】squid负载均衡集群
阅读量:6661 次
发布时间:2019-06-25

本文共 4008 字,大约阅读时间需要 13 分钟。

hot3.png

        本文只是为了详细了解squid的集群负载均衡的配置而模拟出来的一个实验环境。目的是想深入了解squid反向代理以及squid集群负载均衡的配置。也是对近期squid学习成果的检验,准备的环境比较简单,可能没有实用价值,只是了解其配置思路。

场景1

        一家公司要提供互联网服务,为了保证访问性能,采用squid反向代理来实现,来提高性能。想像架构图如下:

1、公司域名www.abc.com,通过DNS轮循的方式,指向A,B两台squid反向代理服务器。

2、A,B squid反向代理服务器的环境如下,他们分别代理内网的两台web服务器(图中的web1,web2), 实现高可用性与负载均衡,

A:squid反向代理服务器

IP:192.168.129.21/24(外网ip)

    192.168.1.1(内网ip)

B:squid反向代理服务器

IP:192.168.129.22/24(外网ip)

    192.168.1.2(内网ip)

web1:

IP:192.168.1.20

web2:

IP:192.168.1.30

 

squid反向代理负载均衡配置 

分别在A,B上安装Squid,配置好相关环境。

1)A服务器squid配置如下:

http_port 192.168.129.21:80 vhost     /*监听本机所有接口*/# 缓存目录大小# 注意: 硬盘上的cache空间路径需要手动创建 cache_mem 64 MBcache_dir ufs /var/spool/squid 4096 16 256# squid的工作进程采用哪个用户和用户组来启动 cache_effective_user squidcache_effective_group squiddns_nameservers 202.103.24.68# squid的日志存放路径 cache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.log# 设置可见域名visible_hostname 192.168.1.1# 配置管理员邮箱cache_mgr abc@126.com#将icp通讯端口设置为3130,squid之间缓存同步查询数据时用的。icp_port 3130#A反向代理的内部服务器(适用于squid 2.6)cache_peer 192.168.1.20 parent 80 0 no-query originserver no-digest name=a   cache_peer 192.168.1.30 parent 80 0 no-query originserver no-digest name=b #连接本地的与另一台Squid工作在sibling模式,实现数据的调取(用于jsquid集群环境)cache_peer 192.168.129.21 sibling 80 3130 name=cache1cache_peer 192.168.129.22 sibling 80 3130 name=cache2   acl Safe_ports port 80acl Safe_ports port 3130cache_peer_domain a www.abc.comcache_peer_domain b www.abc.com # 配置squid访问控制权限acl all src 0.0.0.0/0.0.0.0http_access allow all# 告诉squid缓存哪些文件acl QUERY urlpath_regex .html .jpg .css .js .png .htm .ico .jpeg .bmp .txt .jsoncache allow QUERYcache_peer_access a allow allcache_peer_access b allow all

2) B服务器squid配置如下: 

#监听本机所有接口http_port 192.168.129.22:80 vhostcache_mem 64 MBcache_dir ufs /var/spool/squid 4096 16 256cache_effective_user squidcache_effective_group squiddns_nameservers 202.103.24.68cache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.logvisible_hostname 192.168.1.2cache_mgr abc@126.comicp_port 3130  cache_peer 192.168.1.20 parent 80 0 no-query originserver no-digest name=a   cache_peer 192.168.1.30 parent 80 0 no-query originserver no-digest name=bcache_peer 192.168.129.21 sibling 80 3130 name=cache1 cache_peer 192.168.129.22 sibling 80 3130 name=cache2   acl Safe_ports port 80acl Safe_ports port 3130 cache_peer_domain a www.abc.comcache_peer_domain b www.abc.comacl all src 0.0.0.0/0.0.0.0http_access allow all# 告诉squid缓存哪些文件acl QUERY urlpath_regex .html .jpg .css .js .png .htm .ico .jpeg .bmp .txt .jsoncache allow QUERYcache_peer_access a allow allcache_peer_access b allow all

 

场景2

     

 squid1和squid2是姐妹关系,squid和squid1,squid2是父子关系,squid与web也是父子关系.

[IP分配信息]

squid     192.168.5.163
squid1   192.168.5.161
squid2   192.168.5.165
web       192.168.5.162
根据上面的案例,在实际应用中可以实际各种不同应用。
 
squid1的配置 

http_port 80 accel vhost vporticp_port 3130cache_peer 192.168.5.161 parent 80 0 no-query originserver no-digest name=cache0cache_peer 192.168.5.161 sibling 80 3130 name=cache1cache_peer 192.168.5.163 sibling 80 3130 name=cache2cache_peer 192.168.5.165 sibling 80 3130 name=cache3cache_peer_domain cache0 www.squid.comacl Safe_ports port 80acl Safe_ports port 3130

squid2 的配置 
http_port 80 accel vhost vporticp_port 3130cache_peer 192.168.5.165 parent 80 0 no-query originserver no-digest name=cache0cache_peer 192.168.5.161 sibling 80 3130 name=cache1cache_peer 192.168.5.163 sibling 80 3130 name=cache2cache_peer 192.168.5.165 sibling 80 3130 name=cache3cache_peer_domain cache0 www.squid.comacl Safe_ports port 80acl Safe_ports port 3130

squid的配置: 
http_port 80 accel vhost vporticp_port 3130cache_peer 192.168.5.163 parent 80 0 no-query originserver no-digest name=cache0cache_peer 192.168.5.161 sibling 80 3130 name=cache1cache_peer 192.168.5.163 sibling 80 3130 name=cache2cache_peer 192.168.5.165 sibling 80 3130 name=cache3cache_peer_domain cache0 www.squid.comacl Safe_ports port 80acl Safe_ports port 3130

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/aiguozhe/blog/40568

你可能感兴趣的文章
ecshop重写get_categories_tree函数,
查看>>
格雷码的实现
查看>>
js高级程序设计(四)变量、作用域和内存问题
查看>>
8进制与16进制
查看>>
JS-DOM Element方法和属性
查看>>
我的Android进阶之旅------>Android DatePicker和TimePicker案例
查看>>
作用域和闭包
查看>>
leangoo大讲堂:scrum敏捷开发实战——深圳站
查看>>
表格table嵌套,边框合并问题
查看>>
[转载].NET开发常用的10条实用代码
查看>>
gzip
查看>>
Algs4-1.4.27两个栈实现队列
查看>>
matlab图片压缩
查看>>
设计模式漫谈之责任链
查看>>
[转][荐]优化tableView性能—针对滑动时出现卡的现象
查看>>
javascript小练手
查看>>
基于双下划线的跨表查询 (join查询)
查看>>
ZendFramework2 源码分析 init_autoloader.php
查看>>
javac - Java programming language compiler
查看>>
3 爬虫cookie的处理办法
查看>>