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. 这些规则按照他们的排列顺序进行匹配检测,一旦检测到匹配的规则,匹配就立即结束。

squid之------常用配置及选项的更多相关文章

  1. saltstack(二) master、minion常用配置选项

    master常用配置选项: interface: 指定bind的地址(默认0.) publish_port:指定发布端口(默认4505) ret_port: 指定结果返回端口,与minion配置文件的 ...

  2. squid安装、配置、控制

    Squid 目录 [隐藏]  1 前言 2 安装 2.1 从源中安装 2.2 源码编译安装 3 基本配置 4 高级控制 5 认证 6 总结 6.1 服务器配置 6.2 用户分类 6.3 行为分类 6. ...

  3. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  4. squid 2.7 配置与安装

    1.准备安装包 2.准备编译环境 yum -y install gcc 3.编译安装squid ./configure \--prefix=/data/squid \--disable-interna ...

  5. logback 常用配置详解(二) <appender>

    logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...

  6. JVM 常用配置

    JVM的配置,最常用的两个配置就是:-Xms512m –Xmx1024m -Xms设置JVM的初始化内存大小,-Xmx为最大内存大小,当突破这个值,将会报内存溢出,导致的原因有很多,主要是虚拟机的回收 ...

  7. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...

  8. zend studio一些常用配置

    zend studio 常用 配置 1.zend中添加注释是ctrl+slash,这个slash在哪里?如何来取消注释 slash是斜杠'/'那个键,就是在,.之后的那个. 进行注释是 ctrl+'/ ...

  9. logback常用配置详解及logback简介

    logback 简介(一) Ceki Gülcü在Java日志领域世界知名.他创造了Log4J ,这个最早的Java日志框架即便在JRE内置日志功能的竞争下仍然非常流行.随后他又着手实现SLF4J 这 ...

随机推荐

  1. flutter 网络请求以及数据处理

    网络请求使用FutureBuilder来处理 import 'dart:convert'; Widget build(BuildContext context) { return FutureBuil ...

  2. 递归选中easyui树

    $(function(){ // var data1 = [ // { // "id": 3, // "text": "3组织", // & ...

  3. 四十九:数据库之Flask-SQLAlchemy下alembic的配置

    准备工作 配置数据 创建迁移文件并映射到数据库 增加字段 删除字段

  4. LoadRunner 技巧之 添加事务

    事务(Transaction)用于模拟用户的一个相对完整的.有意义的业务操作过程,例如登录.查询.交易.转账,这些都可以作为事务,而一般不会把每次HTTP请求作为一个事务. 拿笔者所测试的邮箱系统为例 ...

  5. 考虑以下 Python 代码,如果运行结束,命令行中的运行结果是什么?

    l = [] for i in xrange(10):  l.append({‘num’:i}) print l在考虑以下代码,运行结束后的结果是什么? l = [] a = {‘num’:0} fo ...

  6. 【疑难杂症】【Solved】maven-compiler-plugin 在 idea 下的问题

    maven-compiler-plugin 这个插件在idea和eclipse里表现本质是一样的,但是我之前有个细节没注意到,导致我对此有误解.我之前一直以为只要配置了source和target,相应 ...

  7. APP自动化测试,判断页面与预期是否相同

    自动化测试中,有时需要验证页面跳转是否正常 1.选择appium实现,因为要填写appPcakage和appActivity,只能验证一个单独的APP,在自身APP上各个页面是否跳转正常 例如:焦点从 ...

  8. USACO2.1 Hamming Codes【枚举+二进制处理+输出格式+题意理解】

    这道题加了2个看起来奇奇怪怪的$tag$ 1.输出格式:不得不说这个格式输出很恶心,很像$UVA$的风格,细节稍微处理不好就会出错. 因为这个还$WA$了一次: ,m=n; ) { ;i<=t+ ...

  9. 使用graphics.h来绘制图形

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. graphics.h是TC里面的图形库,如果要用的话应该用TC来编译.分为:像素函数.直线和线型函数.多边形函数.填充函数等.然而在我们使 ...

  10. openvswitch笔记

    下载解压sudo wget http://openvswitch.org/releases/openvswitch-2.4.1.tar.gztar -xvf openvswitch-2.4.1.tar ...