利用 squid 反向代理提高网站性能

来源:百度文库 编辑:神马文学网 时间:2024/04/28 05:21:13

配置 Squid1 服务器 中国网管联盟www.bitscn.com

    下载 squid-3.0.STABLE8.tar.gz 源码包,将其放在 /home 目录下
    1.解压缩tar – zxvf squid-3.0.STABLE8.tar.gz
    2.设置配置参数:cd squid-3.0.STABLE10

中国网管联盟www.bitscn.com

   

./configure – prefix=/usr/local/squid 网管网bitsCN_com 

中国网管联盟www.bitscn.com

    将 squid 安装在 /usr/local 目录下
    3.编译安装:make&make install安装完以后会在 /usr/local 目录下看见 squid 目录。
    4.配置 squid 配置文件
    编辑 squid.conf 文件,vi /usr/local/squid/etc/squid.conf

54ne.com

  

cache_effective_user squid            cache_effective_group squid            ######### 设定 squid 的主机名 , 如无此项 squid 将无法启动            visible_hostname squid1.nlc.gov.cn            ############# 配置 squid 为加速模式 #################            http_port 80 accel vhost vport            icp_port 3130            ##### 配置 squid2、squid3 为其邻居,当 squid1 在其缓存中没有找到请求的资源时,            通过 ICP 查询去其邻居中取得缓存            cache_peer squid2.ibm.com.cn sibling 80 3130            cache_peer squid3.ibm.com.cn sibling 80 3130            ##### squid1 的三个父节点,originserver 参数指明是源服务器,            round-robin  参数指明 squid 通过轮询方式将请求分发到其中一台父节点;            squid 同时会对这些父节点的健康状态进行检查,如果父节点 down 了,            那么 squid 会从剩余的 origin 服务器中抓取数据            cache_peer 210.82.118.195 parent 8080 0 no-query originserver round-robin             name=webServer1            cache_peer 192.168.76.226 parent 8080 0 no-query originserver round-robin             name=webServer2            cache_peer 192.168.76.227 parent 8080 0 no-query originserver round-robin             name=webServer3            #### 将 wenjin.cache.ibm.com.cn 域的请求通过 RR 轮询方式转发到三个父节点中的一个            cache_peer_domain webServer1 webServer2 webServer3 wenjin.cache.ibm.com.cn            ##### 下面是一些访问控制、日志和缓存目录的设置            acl localnet src 192.168.76.223 192.168.76.224 192.168.76.225            acl all src 0.0.0.0/0.0.0.0            http_access allow all            icp_access allow localnet            cache_log /usr/local/squid/var/logs/cache.log            access_log /usr/local/squid/var/logs/access.log squid            cache_dir ufs /usr/local/squid/var/cache/ 1000 16 256            ####### 对 squid 的一些优化 ###############            maximum_object_size 10240 KB  ### 能缓存的最大对象为 10M            maximum_object_size_in_memory 512 KB ### 内存中缓存的最大对象 512K            cache_mem 256 MB  ###squid 用于缓存的内存量            

feedom.net

中国网管联盟www.bitscn.com

    保存后 :wq 退出。 feedom.net

    在 /etc/hosts 文件中添加 54com.cn

   

192.168.76.223  squid1.ibm.com.cn            192.168.76.224  squid2.ibm.com.cn            192.168.76.225  squid3.ibm.com.cn            中国网管联盟www、bitsCN、com            
中国网管论坛bbs.bitsCN.com

    保存后 : wq 退出。 网管联盟www.bitsCN.com

    检查 squid 配置文件正确与否:/usr/local/squid/bin/squid – k parse

中国网管联盟www_bitscn_com

    生成缓存目录/usr/local/squid/bin/squid – z 54ne.com

    启动squid:/usr/local/squid/bin/squid 中国网管联盟www.bitscn.com

    配置 squid2 和 squid3 服务器 54ne.com

    squid2 和 squid3 服务器的配置方法和配置参数和 squid1 一样,配置完成后,分别启动这两个服务器上的 squid 服务。

feedom.net

    在 squid 的日志文件 cache.log 中,出现如下日志信息则说明三台 squid 之间成功配置为 sibling,且配置了三个父代理。 中国网管联盟www、bitsCN、com

   

2008/11/17 10:08:47| Configuring Sibling squid1.ibm.com.cn/80/3130            2008/11/17 10:08:47| Configuring Sibling squid3.ibm.com.cn/80/3130            2008/11/17 10:08:47| Configuring Parent 210.82.118.195/8080/0            2008/11/17 10:08:47| Configuring Parent 192.168.76.226/8080/0            2008/11/17 10:08:47| Configuring Parent 192.168.76.227/8080/0            2008/11/17 10:08:47| Ready to serve requests.            

feedom.net

中国网管联盟www.bitscn.com

    测试

网管网bitsCN_com

    测试之前,保证 DNS 服务、三台 squid 服务和三台 web服务都正常起来。在客户端输入http://wenjin.cache.ibm.com.cn,则正确的显示该网页。服务器端的响应对客户端是透明的,客户端不知道请求是由哪台 WEB 服务器处理的;而且其中某台 Squid 服务器或 WEB 服务器发生故障,也不影响服务的正常运行。 54com.cn

    总结 中国网管联盟www_bitscn_com

    Squid 是一个开源的软件,利用它的反向代理技术可以提高网站系统的访问速度。本文在真实的网络环境下,利用三台 squid反向代理服务器加速了网站的性能,同时结合 DNS轮询技术实现了网站的负载均衡。经过一段时间的测试和试运行,该网站的访问速度和可用性方面都有很大的提高,从未出现过网站服务中断情况。