|NO.Z.00016|——————————|^^ 构建 ^^|——|squid缓存/代理服务.V1|——|4台server|

一、squid简介
### --- squid简介

~~~     一个缓存服务器的守护进程
~~~     (二八原则:百分之八十的访问量都是由百分之二十的数据去完成的。)        
~~~     FTP(VSFTP的前端的缓存) HTTP SSL:    支持的反向代理的类型
~~~     磁盘 分区 目录 object :
~~~     不同磁盘下构建分区再在分区下构建目录,只能支持二级目录,
~~~     在下面存放的是object(对象的含义在squid中是缓存,充当着缓存的角色)
~~~     (通过下面两个表进行查找,就可以快速的查找到缓存)
~~~     Hash tables 目录 每个digest的索引信息
~~~     Digest tables 索引 不同分区对应object大概说明
~~~     (UFS的文件系统,UFS不支持太复杂的权限设置,它也不需要太复杂的权限设置)
~~~     squid针对的是单个文件比较大的类型缓存,性能较高   squid只支持rr模式。
~~~     Varnish :squid的竞争者。通过内存分页技术传输数据。
~~~     单个文件比较小的类型缓存性能相对squid的较好。
二、Squid工作逻辑
### --- Squid工作逻辑

~~~     客户机发起请求到squid代理服务器,
~~~     squid代理服务器会在cache中寻找到底有没有想要数据的存储文件或者缓存文件
~~~     若是没有它会向后端服务器发起请求,后端服务器会把这个请求返回给squid服务器
~~~     squid服务器把数据存储在cache中,再返回给客户端。
~~~     下一次进来访问若是有缓存会直接把数据返回给客户端。不需要进行后端服务器的交互
~~~     设置最大的缓存量,以及缓存的约束,来减少squid的压力    
、工作模式
### --- 工作模式

~~~		传统代理:内网用户做的加速访问
~~~		透明代理:内网用户做的加速访问
~~~		反向代理:公网用户做的加速访问
四、传统模式
### --- 传统模式

~~~     Internet服务器是公网的web服务器公网存在对应的web服务器
~~~     内网想访问公网的话,必须要把请求交给squid服务器 
~~~     squid服务器会向公网索要数据,公网反馈数据给squid服务器之后
~~~     squid服务器再返回给客户端,达到代理的过程。
~~~     相当于我要什么,都是squid帮我获取数据。
~~~     若是下一次再次访问这个数据,squid不会进行公网交互,会直接在缓存中获取数据。
~~~     明确指明代理服务器的IP地址和端口号:IE——>internet选项——>连接
~~~     ——>局域网LAN设置——>代理服务器(告诉这个浏览器要是想要访问公网的话
~~~     那个IP和端口去获取数据)内网情况下配置(透明模式可以解决这一缺陷)
五、透明模式
### --- 透明模式

~~~     工作流程和传统模式的工作模式一直
~~~     通过防火墙iptables或者其它功能的设置去让服务功能自动的转交,
~~~     在客户端里不需要配置代理端的IP端口。
~~~     内网用户可能不知道使用squid服务代理上网,但实实在在进行squid服务提供服务。
六、反向代理模式
### --- 反向代理模式

~~~     web1/web2/web3服务器是在内网环境下,
~~~     PC1.PC2两个公网的客户端
~~~     客户端通过公网访问到squid服务器,squid服务器再访问到web服务器。
~~~     squid拿到数据之后会把数据缓存在本机。下一次公网用户访问相同数据时直接返回,
~~~     减轻后端服务器的压力。
七、squid简介(版本到达3.x版本)
### --- squid简介(版本到达3.x版本)

~~~     squid服务端:
~~~     软件包:squid-2.6.STABLE21-6.e15(3.1之后使用c语言重构)
~~~     系统服务:squid
~~~     主程序:/usr/sbin/squid
~~~     主配置文件:/etc/squid/squid.con
~~~     默认监听端口: TCP 3128
~~~     默认访问日志:/var/log/squid/access.log
八、常见配置
### --- 常见配置

http_port 3128                                                              // 指定端口
access_log /var/log/squid/access.log squid                                  // 指定日志及日志的用户squid
cache_mem 64 MB                                                             // cache_mem squid进程能够调用的最大的内存资源
cache_dir ufs /var/spool/squid 100 16 256                                   // cache_dir缓存目录,使用的文件系统UFS /var/spool/squid缓存目录路径  100:缓存目录能够使 用的最大的存储资源兆比,16:一级目录的最大个数,256:二级目录的最大个数 
visible_hostname proxy.benet.com                                            // visible_hostname:可见名称 proxy.benet.com名称命名格式
dns_testnames www/google.com www.163.com                                    // dns_testnames:dns代理,squid代理用户请求的,若是发现自己都宕机的话是不可以代理的。它有一个自我判断自己是否宕机的机制,通过访问较为稳定的公网www/google.com www.163.com:定时的去测试是否能够正常访问;若是不可以访问,说明它已经宕机,会发出相应的告警信息
maximum_object_size 4096 KB                                                 // 缓存:maximum_object_size 4096 KB 最大缓存对象的大小 ,缓存一般缓存的是 静态资源。此超过4096就不需要缓存了   
reply_body_max_size 10MB                                                    // 允许:reply_body_max_size 10MB    允许我们访问的最大的单个文件最大的大小。允许经过通过代理的最大数据。            

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(40)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示