squid 可以做反向代理将系统中相对静态的页面进行缓存和负责均衡,
提高网站访问速度,增强网站可用性、安全性.
用户访问Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。
如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,
否则反向代理服务器将向后台的 WEB服务器请求资源,然后将请求的应答返回给客户端,
同时也将该应答缓存在本地,供下一个请求者使用。

其示意图如下:

Windows中安装squid步骤:
1,从http://squid.acmeconsulting.it下载squid windows的安装文件.
也可以从http://download.csdn.net/detail/kkdelta/4474605下载.
下载后解压将squid放在C:\目录下(default),你也可以把Squid放到其他的路径,
但是需要大量的配置squid配置文件中的路径信息。
2,重命名etc文件夹下的文件
squid.conf.default ==> squid.conf
mime.conf.default ==> mime.conf
cachemgr.conf.default ==> cachemgr.conf 
3,简单配置squid.conf,使配置达到如下图的效果

visible_hostname squidhost
#设定squid的主机名,如无此项squid将无法启动
http_port 3128 accel vhost vport
#设定squid为accel加速模式,vhost必须要加.否则将无法将主机头转发至后端服务器,
#访问时就会出现无法找到主机头的错误
cache_peer 147.151.240.234 parent 8080 0 no-query originserver round-robin name=webserver1
cache_peer 147.151.241.151 parent 8080 0 no-query originserver round-robin name=webserver2
cache_peer_domain  webserver1 webserver2 localhost
#将 localhost的请求通过 RR 轮询方式转发到2个父节点中的一个.
#http://localhost:3128的请求将转发到147.151.240.234:8080或者147.151.241.151:8080
acl all src 0.0.0.0/0.0.0.0
http_access allow all

4,启动squid
C:\squid\sbin>squid -z #创建cache目录.
C:\squid\sbin>squid #启动squid

测试:
将147.151.240.234和147.151.241.151的tomcat启动,放上一个test.jsp文件.
在151的机器上的test.jsp输出 The JSP in Tomcat instance 151 
在234的机器上的test.jsp输出 The JSP in Tomcat instance 234
访问http://localhost:3128/xxxweb/test.jsp会轮流输出上面的结果.
对一个jsp的访问每次都会转发到web server上:X-Cache: MISS from squidhost

  1. [root@Fedora-WLS9-1 bin]# curl -I http://147.151.240.52:3128/examples/jsp/test.jsp
  2. HTTP/1.0 200 OK
  3. Server: Apache-Coyote/1.1
  4. Set-Cookie: JSESSIONID=F3C10D53A916B1852D06687E9E581A2F; Path=/examples
  5. Content-Type: text/html
  6. Content-Length: 972
  7. Date: Fri, 03 Aug 2012 17:51:01 GMT
  8. X-Cache: MISS from squidhost
  9. X-Cache-Lookup: MISS from squidhost:3128
  10. Via: 1.0 squidhost:3128 (squid/2.6.STABLE22)
  11. Connection: close

对一个静态的html的访问每次都会转发到web server上:X-Cache: HIT from squidhost

    1. [root@Fedora-WLS9-1 bin]# curl -I http://147.151.240.52:3128/examples/jsp/test.html
    2. HTTP/1.0 200 OK
    3. Server: Apache-Coyote/1.1
    4. Accept-Ranges: bytes
    5. ETag: W/"26-1343982480000"
    6. Last-Modified: Fri, 03 Aug 2012 08:28:00 GMT
    7. Content-Type: text/html
    8. Content-Length: 26
    9. Date: Fri, 03 Aug 2012 17:28:54 GMT
    10. Age: 195
    11. <span style="color:#FF0000;"></span>X-Cache: HIT from squidhost
    12. X-Cache-Lookup: HIT from squidhost:3128
    13. Via: 1.0 squidhost:3128 (squid/2.6.STABLE22)
    14. Connection: close

Windows Squid 安装配置的更多相关文章

  1. 在windows下安装配置Ulipad

    在windows下安装配置Ulipad 今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便. Ulipad下载地址: https://github.com/limodou ...

  2. Windows下安装配置MongoDB

    Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...

  3. Windows平台安装配置mysql数据库

    Windows平台安装配置mysql数据库 作者:Eric 微信:loveoracle11g 去下载mysql软件 https://www.mysql.com/downloads/ https://d ...

  4. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

  5. QT学习之windows下安装配置PyQt5

    windows下安装配置PyQt5 目录 为什么要学习QT 命令行安装PyQt5以及PyQt5-tools 配置QtDesigner.PyUIC及PyRcc 为什么要学习QT python下与界面开发 ...

  6. RabbitMQ学习在windows下安装配置

    RabbitMQ学习一. 在windows下安装配置 1.下载并安装erlang,http://www.erlang.org/download.html,最新版是R15B01(5.9.1).由于我机器 ...

  7. Windows下安装配置免安装MySQL5.7服务器

      Windows下安装配置免安装MySQL5.7服务器 1.下载.解压安装包 从MySQL官方网站上下载mysql-5.7.19-winx64.zip 下载完成后,把安装包解压到D:\DevSoft ...

  8. Windows下安装配置MySQL

    Windows下安装配置MySQL的基本步骤 一.MySQL下载 MySQL官方下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads ...

  9. Windows下安装配置ant

    1.ant安装 请从官网下载ant的*.zip格式的安装包, Windows建议下载*.zip版本, Linux建议下载*.gz版本. 2.配置环境变量 解压之后,在Windows中配置环境变量, 在 ...

随机推荐

  1. Android自定义View

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24252901 很多的Android入门程序猿来说对于Android自定义View ...

  2. 数据库事务的特性(ACID)

    数据库的事务是数据库中一系列(增删查改)操作的集合. 一般来说,事务的范围根据业务而定,比如转账.修改个人信息 转账:从A账户将200元转移到B账户 从A账户中扣除200元 将200元加入到B账户中 ...

  3. Linux sticky bit 目录权限 rwt权限

    [linux权限分为 user group others三组] 今天看到有个目录的权限是rwxrwxrwt 很惊讶这个t是什么,怎么不是x或者-呢?搜了下发现: 这个t代表是所谓的sticky bit ...

  4. lua中string.find()函数作用于汉字字符串

    lua中有这样一个库函数,string,find(),作用是在一个字符串中找到目标字符串的起始和结束位置(从1开始计数) 如:a,b=string.find("hello world&quo ...

  5. shockt通信

    目前为止,我们使用的最多网络协议还是tcp/ip网络.通常来说,我们习惯上称为tcp/ip协议栈.至于协议栈分成几层,有两种说法.一种是五层,一种是七层. 5.应用层    4.传输层    3.网络 ...

  6. 32位和64位系统区别及int字节数

    理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算). 常用数据类型对应字节数   可用如sizeof(char),sizeof(ch ...

  7. java高薪之路__008_Annotation

    元注解 共有4种 @Retention 表示需要在什么级别保存该注释信息(生命周期) |--- RetentionPolicy.SOURCE: 停留在java源文件,编译器被丢掉 |--- Reten ...

  8. 25、java中观察者模式Observable和Observer

    如果想要实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口 观察者设计模式 现在很多的购房者都在关注着房子的价格变化,每当房子价格变化的时候,所有的购房 ...

  9. Centos6下rpm安装MySQL5.6

    Centos6在rpm安装 rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum install ...

  10. vue学习笔记之v-if

    if顾名思义就是判断,v-if也是判断,举例如下 <p v-if="hello">Hello!</p> 这里 v-if 指令将根据表达式 hello 值的真 ...