Squid概述及详细应用

一、缓存概述

1.1、Squid的工作机制

缓存网页对象,减少重复请求

在这里插入图片描述

当服务器中有客户端需要的数据时:
a. 客户端向服务器发送数据请求;
b. 服务器检查自己的数据缓存;
c. 服务器在缓存中找到了用户想要的数据,取出数据;
d. 服务器将从缓存中取得的数据返回给客户端。
当服务器中没有客户端需要的数据时:
a. 客户端向服务器发送数据请求;
b. 服务器检查自己的数据缓存;
c. 服务器在缓存中没有找到用户想要的数据;
d. 服务器向Internet 上的远端服务器发送数据请求;
f. 远端服务器响应,返回相应的数据;
g. 服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

1.2、的基本类型

1.2.1、传统:适用于Internet,需明确指定服务端

1.2.2、透明:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理

1.3、使用的好处

1.3.1、提高Web访问速度

1.3.2、隐藏客户机的真实IP地址

二、squid主要组成部分

服务名 squid
主程序 /usr/sbin/squid
配置目录 /etc/squid
主配置文件 /etc/squid/squid.conf
监听tcp端口号 3128
默认访问日志文件 /var/log/squid/access.log

三、Squid各种代理的定义

3.1、传统
环境

主机 IP地址
Squid服务器 20.0.0.10
Web网站服务(源主机 ) 20.0.0.20
客户机 20.0.0.30

3.1.1、Squid服务器配置

①安装依赖环境

[root@squid ~]# yum -y install gcc gcc-c++ make

②编译安装squid服务

[root@squid ~]# tar zxf squid-3.5.23.tar.gz -C /opt
[root@squid ~]# cd /opt/squid-3.5.23/
[root@squid squid-3.5.23]# ./configure --prefix=/usr/local/squid \
> --sysconfdir=/etc \ ###指定配置文件位置
> --enable-arp-acl \ ###支持acl访问控制列表
> --enable-linux-netfilter \ ###打开网络筛选
> --enable-linux-tproxy \ ###支持透明代理
> --enable-async-io=100 \ ###io优化
> --enable-err-language="Simplify_Chinese" \ ###报错显示简体中文
> --enable-underscore \ ###支持下划线
> --enable-poll \ ###默认使用poll模式,开启epoll模式时提升性能
> --enable-gnuregex ###支持正则表达式
[root@squid squid-3.5.23]# make && make install

③优化路径

[root@squid squid-3.5.23]# ln -s /usr/local/squid/sbin/* /usr/local/sbin 
[root@squid squid-3.5.23]# useradd -M -s /sbin/nologin squid ###创建不可登录的程序用户
[root@squid squid-3.5.23]# chown -R squid.squid /usr/local/squid/var

④修改配置文件,优化启动项

[root@squid ~]# vi /etc/squid.conf
cache_effective_user squid        #添加   指定程序用户
cache_effective_group squid       #添加   指定账号基本组

[root@squid ~]# squid -k parse ###检查配置文件语法
[root@squid ~]# squid -z ###初始化缓存目录
[root@squid ~]# squid ###启动服务
[root@squid ~]# netstat -anpt | grep squid
tcp6       0      0 :::3128                 :::*                    LISTEN      104314/(squid-1)

⑤添加服务到service管理

[root@squid ~]# vi /etc/init.d/squid
#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"

case "$1" in
   start)
     netstat -natp | grep squid &> /dev/null
     if [ $? -eq 0 ]
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 介绍 1.1 Web缓存 1.2 Squid的简明历史 1.3 硬件和操作系统要求 1.4 squid是开源的 1.5 Squid的Web主页 1.6 获取帮助 1.6.1 FAQ 1.6.2 邮件列表 1.6.3 职业支持 1.7 启动Squid 第2章 获取Squid 2.1 版本和发布 2.2 使用源代码 2.3 预编译的二进制文件 2.4 匿名CVS 2.5 devel.squid-cache.org 第3章 编译和安装 3.1 安装之前 3.2 解开源代码包 3.3 调整内核 3.3.1 文件描述符 3.3.2 Mbuf Clusters 3.3.3 临时端口范围 3.4 Configure脚本 3.4.1 configure选项 3.4.2 运行configure 3.5 编译 3.6 安装 3.7 打补丁 3.8 重运行configure 第4章 快速配置向导 4.1 squid.conf语法 4.2 User ID 4.3 端口号 4.4 日志文件路径 4.5 访问控制 4.6 可见主机名 4.7 管理联系信息 4.8 下一步 第5章 运行Squid 5.1 squid命令行选项 5.2 对配置文件查错 5.3 初始化cache目录 5.4 在终端窗口里测试squid 5.5 将squid作为服务进程运行 5.5.1 squid_start脚本 5.6 启动脚本 5.6.1 /etc/rc.local 5.6.2 init.d和rc.d 5.6.3 /etc/inittab 5.7 chroot环境 5.8 停止squid 5.9 重配置运行中的squid进程 5.10 滚动日志文件 第6章 访问控制 6.1 访问控制元素 6.1.1 一些基本的ACL类型 6.1.2 ACL类型 6.1.3 外部ACL 6.1.4 处理长ACL列表 6.1.5 Squid如何匹配访问控制元素 6.2 访问控制规则 6.2.1 访问规则语法 6.2.2 Squid如何匹配访问规则 6.2.3 访问列表风格 6.2.4 延时检查 6.2.5 减缓和加速规则检查 6.3 常见用法 6.3.1 仅仅允许本地客户 6.3.2 阻止恶意客户 6.3.3 内容过滤 6.3.4 在工作时间的受限使用 6.3.5 阻止squid与非HTTP服务器会话 6.3.6 授予某些用户特殊的访问 6.3.7 阻止邻近cache的滥用 6.3.8 使用IP地址拒绝请求 6.3.9 http_reply_access示例 6.3.10 阻止对本地站点的cache命中 6.4 测试访问控制 第7章 磁盘缓存基础 7.1 cache_dir指令 7.1.1 参数:Scheme 7.1.2 参数:Directory 7.1.3 参数:Size 7.1.4 参数:L1和L2 7.1.5 参数:Options 7.2 磁盘空间基准 7.3 对象大小限制 7.4 分配对象到缓存目录 7.5 置换策略 7.6 删除缓存对象 7.6.1 删除个别对象 7.6.2 删除一组对象 7.6.3 删除所有对象 7.7 refresh_pattern 第8章 高级磁盘缓存主题 8.1 是否存在磁盘I/O瓶颈? 8.2 文件系统调整选项 8.3 可选择的文件系统 8.4 aufs存储机制 8.4.1 aufs如何工作 8.4.2 aufs发行 8.4.3 监视aufs操作 8.5 diskd存储机制 8.5.1 diskd如何工作 8.5.2 编译和配置diskd 8.5.3 监视diskd 8.6 coss存储机制 8.6.1 coss如何工作 8.6.2 编译和配置coss 8.6.3 coss发行 8.7 null存储机制 8.8 哪种最适合我? 第9章 Cache拦截 9.1 它如何工作? 9.2 为何要(或不要)拦截? 9.3 网络设备 9.3.1 内置Squid 9.3.2 四层交换 9.3.3 Cisco策略路由 9.3.4 Web Cache Coordination协议 9.4 操作系统配置 9.4.1 Linux 9.4.2 FreeBSD 9.4.3 OpenBSD 9.4.4 在NetBSD和其他系统上的IPFilter 9.5 配置Squid 9.5.1 配置WCCPv1 9.6 调试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值