84366992 发表于 2018-12-27 11:26:03

squid 清空缓存及配置说明

squid.conf  #
  acl CactiServer src 192.168.0.119
  acl snmpcommunity snmp_community public
  snmp_port 3401
  snmp_access allow snmpcommunity CactiServer
  #这部分是为cacti的监控设置
  #用snmpwalk -c public -v1 192.168.0.119:3401 .1.3.6.1.4.1.3495.1 测试是否成功
  #
  visible_hostname cache.lamiu.com
  cache_effective_user squid
  cache_effective_group squid # 启动的用户与组
  cache_mgr yangting@lamiu.com
  cache_dir ufs /var/cache/squid/cache/ 1024 16 128 #缓存的路径,大小为1024M 16个头目录,128个子目录
  cache_mem 128 MB #内存
  cache_peer www.lamiu.com parent 80 0 no-query originserver name=www
  cache_peer bbs.lamiu.com parent 80 0 no-query originserver name=bbs #定义不同的父节点,将节点设为no-query以及originserver说明这些节点是实际服务器
  cache_peer_domain   www www.lamiu.com
  cache_peer_domain   bbs bbs.lamiu.com    #设定不同域名转发到不同的cache_peer上,如果没有这项.不同域名的域名可能被分发到同一台服务器上.
  acl all src 0.0.0.0/0.0.0.0
  http_access allow all   #允许所有客户端访问
  cache_swap_high 100%
  cache_swap_low 95% #(cache_swap_low 和cache_swap_high 指令控制了存储在磁盘上的对象的置换。它们的值是最大cache 体积的百分比,这个最大cache 体积来自于所有cache_dir 大小的总和)
  maximum_object_size 1024 KB #大于此容量的对象将不会被保存在磁盘上,默认大小是4M,
  maximum_object_size_in_memory 100 KB # 最大位于内存中的对象的大小,默认大小是8K,
  hierarchy_stoplist cgi-bin ?
  hierarchy_stoplist -i ^https:\\ ? #squid将请求标记为不可层叠,直接转发
  emulate_httpd_log on #打开emulate_httpd_log选项,将使Squid仿照Aapche的日志格式
  cache_store_log none #这个设置是不记录store.log
  pid_filename /var/log/squid/squid.pid
  cache_log /var/log/squid/cache.log
  access_log /var/log/squid/access.log
  half_closed_clients off #半关闭状态的TCP连接,设为off,则一旦从客户端返回“no more data to read”的信息,squid就立即关闭该连接
  logfile_rotate 4 #可以用logfile_rotate 0来取消自动操作
  acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
  acl denyssl urlpath_regex -i ^https:\\
  no_cache deny QUERY
  no_cache deny denyssl    #不对符合QUERY,denyssl的ACL内容进行缓冲
  acl localhost src 127.0.0.1/255.255.255.255
  acl manager proto cache_object
  acl purge method PURGE
  http_access allow manager localhost #cache_object是squid的缓存管理接口,这配置行只允许本机的缓存管理请求
  http_access allow purge localhost #只有本机能删除了cache目标 squidclien -m PURGE -p 80 http://www.***.com
  acl FTP proto FTP
  http_access deny FTP #拒绝所有的FTP请求
  #refresh_pattern 指令间接的控制磁盘缓存。
  #refresh_pattern [-i] regexp min percent max

  refresh_pattern -i \.jpg$ 30 50% 4320>  refresh_pattern -i \.htm$ 0 20% 1440
  #refresh_pattern 指令也有少数选项导致squid 违背HTTP 协议规范。它们如下:
  override-expire
  该选项导致squid在检查Expires 头部之前,先检查min 值。这样,一个非零的min 时间让squid返回一个未确认的cache 命中,即使该响应准备过期。
  override-lastmod
  改选项导致squid 在检查LM-factor 百分比之前先检查min 值。
  reload-into-ims
  该选项让squid 在确认请求里,以no-cache 指令传送一个请求。换句话说,squid 在转发请求之前,对该请求增加一个If-Modified-Since 头部。注意这点仅仅在目标有Last-Modified时间戳时才能工作。外面进来的请求保留no-cache 指令,以便它到达原始服务器。
  ignore-reload
  该选项导致squid 忽略请求里的任何no-cache 指令。

  #squidclient -r -p 80 http://www.***.com 能Force cache to>
页: [1]
查看完整版本: squid 清空缓存及配置说明