免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2649 | 回复: 3
打印 上一主题 下一主题

[proxy] 使用squid反向代理加速多个WEB站点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-15 10:16 |只看该作者 |倒序浏览
本文以redhat as3以及squid2.5 stable11(最新为stable12)为例,详细介绍一下如何实现用squid来加速多个web站点。
首先下载squid,地址是:http://www.squid-cache.org/Versi ... 2.5.STABLE11.tar.gz
下载完后放在/usr/src备用。
要支持多个web站点,必须要关闭squid使用外部dns解析,所以我们必须重新编译,如果你在安装linux的时候选择了squid的安装包,需要先卸载掉。
下一步,我们来编译squid
#cd /usr/src
#tar zxvf squid-2.5.STABLE11.tar.gz
#cd squid-2.5.STABLE11
#./configure --disable-internal-dns
#make
#make install

这样,就完成了squid的安装,简单吧?重要的是--disable-internal-dns,不允许squid使用dns解析。
然后我们需要编辑/etc/hosts文件,在其中加上我们需要加速的web站点的域名及ip对应关系,如
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost localhost.localdomain localhost
211.86.9.1 www.sdada.edu.cn sdada.edu.cn test2.sdada.edu.cn
221.214.14.215 rencai.design.sd.cn
221.214.14.226 guqunye.com www.guqunye.com
221.214.14.235 www.qqxq.net qqxq.net www.qqxq.com qqxq.com

接下来,我们需要将需要加速的web站点的域名,从dns解析上,全部指向安装squid的这台服务器,这样就比较清楚的明白其工作原理了,首先用户请求某一域名,被指向cache服务器(安装squid的服务器),然后squid根据其主机上的hosts表,会去访问web站点所在的真实服务器。

最后需要编辑squid的配置文件,默认在/usr/local/squid/etc/squid.conf
在最后添加如下内容:


http_port 80
icp_port 0

dns_children 20
redirect_children 20

cache_mem 256 MB
cache_dir ufs /usr/local/squid/cache 2048 16 256
log_icp_queries off
buffered_logs off
emulate_httpd_log off
redirect_rewrites_host_header off
half_closed_clients off

cache_swap_high 100
cache_swap_low 80
maximum_object_size 1024 KB

refresh_pattern -i .html 1440 100% 129600 reload-into-ims
refresh_pattern -i .shtml 1440 100% 129600 reload-into-ims
refresh_pattern -i .hml 1440 100% 129600 reload-into-ims
refresh_pattern -i .gif 1440 100% 129600 reload-into-ims
refresh_pattern -i .swf 1440 100% 129600 reload-into-ims
refresh_pattern -i .png 1440 100% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 100% 129600 reload-into-ims
refresh_pattern -i .js 1440 100% 129600 reload-into-ims

http_access deny all
cache_mgr gf_l@hotmail.com
cache_effective_user squid
cache_effective_group squid
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_uses_host_header on


visible_hostname cache2.sdada.edu.cn


然后需要添加squid用户及组,以及建立cache目录并且改为squid用户所有。
然后运行
#/usr/local/squid/sbin/squid -z
初始化cache目录

一切ok了!(Ligf.Cn)

论坛徽章:
0
2 [报告]
发表于 2006-05-23 17:45 |只看该作者
要支持

论坛徽章:
0
3 [报告]
发表于 2006-05-24 09:25 |只看该作者
可以把dns指到自己的私有dns服务器。没必要重新编译。

论坛徽章:
0
4 [报告]
发表于 2006-05-24 10:29 |只看该作者
原帖由 archangle 于 2006-5-24 09:25 发表
可以把dns指到自己的私有dns服务器。没必要重新编译。


好,

我用的hosts,正愁没法实现泛域名。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP