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

部分转自:http://www.ibm.com/developerworks/cn/linux/l-cn-squid/

Squid 反向代理的实现原理

目前有许多反向代理软件,比较有名的有 Nginx 和 Squid 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

Squid是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。

Squid反向代理服务器位于本地 WEB 服务器和 Internet 之间 , 组织架构如图 2:

Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:

  • Last-Modified: 告诉反向代理页面什么时间被修改
  • Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
  • Cache-Control: 告诉反向代理页面是否应该被缓冲
  • Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache

环境介绍

squid服务器一台

ip地址

eth0 192.168.0.100/24

eth1  200.168.0.110/24

webserver 多台

server1:ip 192.168.0.101/24

server2:192.168.0.102/24

pc测试机(接外网)

200.168.0.109/24

修改squid配置文件

修改squid.conf 并重新加载配置文件

http_port 200.168.0.110:80 vhost

acl all src 0.0.0.0/0.0.0.0 # 添加acl规则 允许所有通过

http_access allow all

cache_peer 192.168.0.101 prarent 80 0 originserver weight=5 max-conn=30 #192.168.0.101 表示服务器的ip

cache_peer 192.168.0.102 prarent 80 0 originserver weight=5 max-conn=30

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。