squid之------常用配置及选项

Squid常用命令
1.初始化在squid.conf里配置的cache目录
squid -z
2.对squid.conf排错,即验证squid.conf的语法和配置
squid -k parse
3.定期清理swap.state内无效数据
squid -k rotate -f /etc/squid/squid.conf
当squid应用运行了一段时间之后,cache_dir对应的swap.state文件就会变得越来越大,里面的无效接口数据越来越多,这可能影响squid的响应时间,因此需要使用squid清理swap.state里面的无效数据,减少swap.state的大小。
查看Squid日志文档
1. more /var/log/squid/access.log | grep TCP_MEM_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到内存,并返回给访问用户。
2.more /var/log/squid/access.log | grep TCP_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到cache目录,并返回给访问用户。
3.more /var/log/squid/access.log | grep TCP_MISS
该指令可以看到在squid运行过程中,有那些文件没有被squid缓存,而是从原始服务器获取并返回给访问用户。
Squid命中率分析
1.取得squid内存使用情况:
squidclient -p 3128 mgr:mem
2.取得squid运行状态信息:
squidclient -p 3128 mgr:info
3.取得squid已经缓存的列表:
squidclient -p 3128 mgr:bjects. use it carefully,it may crash
4.取得squid的磁盘使用情况:
squidclient -p 3128 mgr:diskd
5.强制更新某个url:
squidclient -p 3128 -m PURGE http://www.xxx.com/xxx.php
6.查命中率:
squidclient -h IP(具体侦听IP) -p 80(具体侦听端口) mgr:info
Squid常用配置选项
/etc/squid/squid.conf
http_port 3128 (还可以只监听一个IP http_port 192.168.0.1:3128)
cache_mem 64MB #缓存占内存大小
maximum_object_size 4096KB #最大缓存块
reply_body_max_size 1024000 allow all #限定下载文件大小
access_log /var/log/squid/access.log #访问日志存放的地方
visible_hostname proxy.test.xom #可见的主机名
cache_dir ufs /var/spool/squid 100 16 256
#ufs:缓存数据的存储格式
#/var/spool/squid 缓存目录
#100:缓存目录占磁盘空间大小(M)
#16:缓存空间一级子目录个数
#256:缓存空间二级子目录个数
cache_mgr webmaster@test.com #定义管理员邮箱
http_access deny all #访问控制
squid中的访问控制
使用访问控制特性,可以控制在访问时根据特定的时间间隔进行缓存、访问特定站点或一组站点等等。
squid访问控制有两个要素:ACL元素和访问列表。访问列表可以允许或拒绝某些用户对此服务的访问。
ACL元素类型
  • src:源地址(即客户机IP地址)
  • dst:目标地址(即服务器IP地址)
  • srcdomain:源名称(即客户机名称)
  • dstdomain:目标名称(即服务器名称)
  • time:一天中的时刻和一周内的一天
  • url_regex:URL规则表达式匹配
  • urlpath_regex:URL-path规则表达式匹配,略去协议和主机名
  • proxy_auth:通过外部程序进行用户验证
  • maxconn:单一IP的最大连接数
ACL格式
acl acl_element_name type_of_acl_element values_to_acl
注:
  1. acl_element_name 可以是任一个在ACL中定义的名称
  2. 任何两个ACL元素不能用相同的名字
  3. 每个ACL由列表值组成。当进行匹配检测的时候,多个值由逻辑或运算连接;换言之,即任一ACL元素的值被匹配,则这个ACL元素即被匹配。
  4. 并不是所有ACL元素都能使用访问列表中的全部类型
  5. 不同的ACL元素写在不同行中,squid将把他们组合在一个列表中
访问条目
我们可以使用许多不同的访问条目。下面是我们常用的几个:
  • http_access:允许HTTP访问
  • no_cache:定义对缓存请求的响应。
访问列表的规则由一些类似'allow'或‘deny’的关键字构成,用以允许或拒绝向特定或一组ACL元素提供服务。
  1. 一个访问列表可以由多条规则组成
  2. 如果没有任何规则与访问请求匹配,默认动作将与列表中最后一条规则对应
  3. 一个访问条目中所有元素将用逻辑与运算连接
  4. http_access Action 声明1 AND 声明2 AND 声明 OR.
  5. http_access Action 声明3
  6. 多个http_accesss声明间用或运算连接,但每个访问条目的元素间用与运算连接。
  7. 列表中的规则总是遵循由上而下的顺序
  8. 这些规则按照他们的排列顺序进行匹配检测,一旦检测到匹配的规则,匹配就立即结束。
原文地址:https://www.cnblogs.com/--smile/p/11090842.html