squid 单台squid配置详解

来源:互联网 发布:淘宝打折软件有用吗 编辑:程序博客网 时间:2024/06/05 02:23

visible_hostname squid1.ihompy.com   (可用hostname 查看主机名)
#设定squid的主机名,如无此项squid将无法启动

http_port 80 accel vhost vport
#设定squid为accel加速模式,vhost必须要加.否则将无法将主机头转发至后端服务器,访问时就会出现无法找到主机头的错误
cache_peer 192.168.1.2 parent 8080 0 no-query originserver name=contentchina
cache_peer 192.168.1.3 8080 0 no-query originserver name=bbs
cache_peer 192.168.1.4 8080 0 no-query originserver name=ihompy

#定义不同的父节点,将节点设为no-query以及originserver说明这些节点是实际服务器
cache_peer_domain contentchina www.contentchina.com
cache_peer_domain bbs          bbs.contentchina.com
cache_peer_domain ihompy       www.ihompy.com
#设定不同域名转发到不同的cache_peer上,如果没有这项.不同域名的域名可能被分发到同一台服务器上.
(www.contentchina.com,bbs.contentchina.com,www.ihompy.com这些域名指向squid这台服务器ip 例192.168.1.5)


#######(上面可改为
cache_peer www1.abc.com 80 no-query originserver forceddomain=www1.abc.com name=www1.abc.com
配置上级cache,这里就是webserver。originserver是让squid把它当成原始server。forceddomain强制修改http头部的Host,name是为了后面方便引用

cache_peer_domain www1.abc.com www1.abc.com
所有发往www1.abc.com域(http头中指定Host为www1.abc.com)的请求都发往www1.abc.com这台cache_peer。如果没有这一条,则发往www1.abc.com域的请求有可能发给别的cache_peer
)####################

 

acl all src 0.0.0.0/0.0.0.0
http_access allow all
#允许所有客户端访问

cache_log /var/log/squid/cache.log
#记录日志
#***********ACL存取控制*************
acl QueryString url_regex /.php?
#***********缓冲存取控制*************
no_cache deny QueryString
#不对符合QueryString的ACL内容进行缓冲
#***********性能优化配置*************
maximum_object_size 320010 KB
#大于此容量的对象将不会被保存在磁盘上,默认大小是4M,如果squid服务器用于缓冲flash等大型文件,建议将此值变大.否则过大的文件在下次重启后将需要重新获取
maximum_object_size_in_memory 100 KB
#最大位于内存中的对象的大小,默认大小是8K,如果服务器内存很大.可以适当提高此值的大小,建议根据网站的80%图片的大小来定.或者根据WEB服务器实际存取文件中最常访问的文件大小来定制


#***********其他可选配置*************
dns_nameservers 10.0.0.1 192.172.0.4
#配置DNS服务器地址.获取后端时将从此dns获取IP地址

cache_mgr code_tin@msn.com
#在错误日志中出现的webmaster地址.
Squid 3.0与2.6一样.相较2.5的accel模式下配置要简单许多
只要设置不同的后端,cache_peer parent originserver
就可以进行反向代理
而不再需要httpd_accel系列参数的配置.

配置squid时最好制定内部dns,或者修改/etc/hosts文件
否则squid可能会回环访问其自身而出现问题.