#设置运行时的用户和组权限
cache_effective_user squid
cache_effective_group squid
#设置管理信息
visible_hostname proxy.yxtc.edu.cn
cache_mgr [email]bye2000@yxtc.edu.cn[/email]
#设置监听地址和端口
http_port 3128
tcp_incoming_address x.x.x.x
udp_incoming_address x.x.x.x
#见下面补充说明
cache_mem 32 MB
cache_dir /cache 6000 14 256
#设置cache对象超时时间
reference_age 3 months
#访问控制设置
acl mynet src 192.168.1.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
http_access allow mynet
http_access deny all
#透明代理设置
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
#swap 性能微调
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 .jpg 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
补充说明:
1.cache_mem 32 MB
注意:cache_mem并不是squid所能使用内存的大小,而是squid用户hot object的物理内存的大小,所以这个值可以小一些。
2.cache_dir /cache 6000 14 256
对于第一级子目录和第二级子目录的计算方法,可以参考笔者以前的文章《用LINUX架设代理服务器(上)(中)(下)》;
3.refresh_pattern -i .html 1440 100% 129600 reload-into-ims等
这几句其实是强行控制对象的超时时间,这违反了http协议的精神,但是在带宽较窄的场合,可以提高明显系统相应时间。
4.注意/cache目录及日志文件的权限,其所有用户和所有组必须为squid;
- maximum_object_size 是 能cache最大的文件大小。对应wmv,rm文件,建议设置为32768 kB
- maximum_object_size_in_memory 是在内存中cache的最大文件大小。
- cache_mem 是SQUID可用到的最大内存。经实践,4G内存的服务器用2G;超过2G导致SQUID运行不稳