编辑squid.conf
-------------------------------------------------
vi /usr/local/etc/squid.conf
http_port 80 --浏览器连接proxy时使用的端口
cache_effective_user nobody --
cache_effective_group nobody
cache_mem 512 MB --设定squid用多少内存来缓存,新手建议设定为物理RAM的1/3
maximum_object_size_in_memory 10MB
memory_replacement_policy lru
#替换机制 (lru叫做 最近不常用的单元 unit一般就是常说的object 也就是当cache中的内容比如内存或硬盘达到上限时的 那么就需要进行数据的换进和换出工作
cache_dir ufs /usr/local/squid/cache 8000 32 128
max_open_disk_fds 0 --为避免磁盘速度造成的瓶颈而可选择性忽略在磁盘上的缓存,0表示无限制。
maximum_object_size 200MB --单页面最大大小
pid_filename /usr/local/squid/var/logs/squid.pid
cache_swap_low 90 --/usr/local/squid/cache可以有多大,也就是指可以在硬碟中存放多少MB的東西.
   
cache_swap_high 95
cache_store_log none --
這個log 檔通常沒用,可以不要它.請在目錄位置改為none.
  #cache_store_log /usr/local/squid/logs/store.log
  cache_store_log none
http_access allow all


----------------------------------------
cache_dir
cache_dir scheme directory size L1 L2 [options]
scheme
可以从编译参数—enable-storeio=LIST 中指定,默认为ufs。其他有:aufs, diskd,  coss, null
directory
缓存目录,建议将一个缓寸目录放在单独的分区中,另外最好放在一个单独的物理磁盘来使用。
size
没有上限,一般建议是整个分区的90%以下,因为还有10%要给swap.state和一些临时文件使用。
下限可以自己测试,先设一个比较小的值,比如100M,并且设置可以用满,等待一周,如果分区满了,那么你就要适当的调大。
Inodes也是一个相当重要的标准,如果inode用完的话,就算磁盘空间还有很多空余也是浪费。
可以通过df -ik来察看,另外一些创建文件系统的命令(newfs,mkfs)也有相应的参数,一般是-i。
L1 and L2:
Squid会建立2级目录树在缓存目录。L1指定第一层,L2指定第二层各是多少目录数。默认为16和256。真正的缓存目录放在二级目录下,并且数据存 放是按次序的,Squid有一套算法storeUfsDirFullPath( )实现一组页面的数据存储在相同的二级目录中。而且从实际情况来看,数据都是按顺序一个目录一个目录存放下去的。
Options: (read-only max-size)
read-only:用在当你将缓存目录下面的内容移动到其他硬盘上,并且还需要这些数据的时候。如果不加read-only,Squid的hit率会急剧下降。等运行一段时间后再去掉这个选项即可。
max-size:指定最大缓存的数据大小。单位是字节。