Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 189|回复: 0

[默认分类] 系统原理分析架构-五-squid(反代理即web缓存服务器)

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-5-23 16:36:46 | 显示全部楼层 |阅读模式

       
       
       
      
       感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
       如有转载,请保留源作者博客信息。

      
    Better Me的博客blog.csdn.net/tantexian
      
      
       如需交流,欢迎大家博客留言。
      


       
      反向代理的概念
      (关于代理服务器分类更多详情,请参考博文:系统原理分析架构-三--代理服务器简介及分类
      反向代理服务器又称为 WEB 加速服务器,它位于 WEB 服务器的前端,充当 WEB 服
      务器的内容缓存器。
      

      反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。
      

      Squid 反向代理的实现原理
      目前有许多反向代理软件,比较有名的有 nginx 和 Squid 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
    1. Squid
    复制代码
    1. 是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持[code]HTTP
    复制代码
    ,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。
    1. Squid
    复制代码
    反向代理服务器位于本地 WEB 服务器和 Internet 之间。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。[/code]
      

    复制代码

    复制代码

      搭建squid web缓存服务器
      

      1、实验环境(由于机器有限,都在单机上面实验)
      centos 6.5 X64 mini版  
      squid服务器: ip 192.168.10.20
      web服务器:ip 192.168.10.21
      所有机器配置为16G内存
      

      2、配置web服务器(node21):
      测试方便,关闭selinux、关闭iptables
      

      一下都采用默认,不做配置即可。
      # vim /etc/httpd/conf/httpd.conf  
      httpd监听端口:
      
      

      DocumentRoot:网页存放的路径,文档的根目录
      
      

      重启httpd
      # service httpd rstart
      

      页面访问httpd:
      
      

      

      

      修改显示内容:
      # vim /var/www/HTML/index.html
      I" node21...
      

      再次访问:
      
      

      3、配置squid反向代理(node20):
      # yum install squid
      
      

      # vim /etc/squid/squid.conf
      

      配置文件修改后使之生效:

      
       
         
         
          squid -k parse
          
         
          squid -k reconfigure
          
         
          或
          
         
          /etc/init.d/squid restart 或reload
          
       
      

      

      
      

      附上重点配置截图:
      
      配置生效:

      
       
         
         
          squid -k reconfigure
          
       
      

      访问192.168.10.20(被squid代理到node21上去了):
      
      

      测试squid反向代理成功。
      

      接下来测试真实场景下的squid代理openstack web:
      已经存在的openstack访问地址为:http://192.168.10.138/manager/instances/
      
      

      再用node20的squid做反向代理:
      附上重要配置文件:
      
      配置生效:

      
       
         
         
          squid -k reconfigure
          
       
      

      

      访问20(20的ip方向请求的内容为138内容)
      
      

      查看:X-Cache-Lookup:参数HIT from node20:80(缓存命中)
      
      

      
      

      

      查看缓存命中率:(squidclient 自行安装)
      squidclient -p 80 mgr:info
      
      

      

      查看squid缓存了哪些内容:
      
      

      讲解完毕。
      

      

      最后附上squid的一些参考文章:
    squid配置-cache_peer和cache_peer_domain详
      
      http://zhumeng8337797.blog.163.com/blog/static/10076891420118954728980/
      
      

    详细解析用Squid实现反向代理的方法(一台多台)
      
      http://www.onegreen.net/Article/HTML/19673_2.html
      

      

      


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-30 18:42 , Processed in 0.416328 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表