zoukankan      html  css  js  c++  java
  • 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. 这些规则按照他们的排列顺序进行匹配检测,一旦检测到匹配的规则,匹配就立即结束。
  • 相关阅读:
    SpringMVC与Servlet 3.0结合
    servlet3.0之后加入spring-mvc
    三、nginx通用配置语法规则
    二、nginx中的参数与信号
    一、nginx源码安装
    Linux环境下java开发环境搭建四 mysql密码忘记找回
    Linux环境下java开发环境搭建三 mysql解压安装(预编译安装)
    dubbo入门学习 六 admin管理界面
    SpringCloud之Hystrix Dashbord监控中心+分布式配置中心
    SpringCloud之zuul+过滤器+容错与回退
  • 原文地址:https://www.cnblogs.com/--smile/p/11090842.html
Copyright © 2011-2022 走看看