squid反向代理缓存安装配置

squid是优秀的代理服务器之一,发展历史相当悠久,功能也相当完善,许多大型网站都会用到squid作为web加速服务器。下面我们学习squid的反向代理缓存的使用。

架构环境说明

本实例的域名是 cache.centos.bz,通过DNS的轮询技术,将客户端的请求分发给其中一台 Squid 反向代理服务器处理,如果这台 Squid 缓存了用户的请求资源,则将请求的资源直接返回给用户,否则这台 Squid 将没有缓存的请求根据配置的规则发送给邻居 Squid 和后台的 WEB 服务器处理,这样既减轻后台 WEB 服务器的负载,又提高整个网站的性能和安全性。该系统结构图 如下:

配置的系统环境:
一台 DNS 服务器:为域名cache.centos.bz添加两条A记录192.168.1.110和192.168.1.111。
两台Squid 服务器:
squid1:192.168.1.110
squid2:192.168.1.111
两台后端WEB 服务器:
webServer1:192.168.1.220
webServer2:192.168.1.221
dns的配置这里不作介绍,主要介绍squid的安装配置。

squid安装

yum install gcc wget perl gcc-c++ make
 cd /tmp
 wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.19.tar.gz
 tar xzf squid-3.1.19.tar.gz
 cd squid-3.1.19
 ./configure
 make && make install
 groupadd squid
 useradd -g squid -s /sbin/nologin squid
 chown -R squid /usr/local/squid/var/logs/ /usr/local/squid/var/cache/


squid反向代理配置

配置 Squid1 服务器:

vi /usr/local/squid/etc/squid.conf

cache_effective_user squid 
cache_effective_group squid 

### 设定 squid 的主机名 , 如无此项 squid 将无法启动
visible_hostname squid1.centos.bz

#### 配置 squid 为加速模式
http_port 80 accel vhost vport 
icp_port 3130 

### 配置 squid2 为其邻居,当 squid1 在其缓存中没有找到请求的资源时,通过 ICP 查询去其邻居中取得缓存
cache_peer squid2.centos.bz sibling 80 3130 

### squid1 的两个父节点,originserver 参数指明是源服务器, round-robin  参数指明 squid 通过轮询方式将请求分发到其中一台父节点; squid 同时会对这些父节点的健康状态进行检查,如果父节点 down 了,那么 squid 会从剩余的 origin 服务器中抓取数据,round-robin表示使用通过 RR 轮询方式转发到两个父节点中的一个
cache_peer 192.168.1.220 parent 8080 0 no-query originserver round-robin  name=webServer1 
cache_peer 192.168.1.221 parent 8080 0 no-query originserver round-robin  name=webServer2

###允许webServer1 webServer2  cache.centos.bz的请求
cache_peer_domain webServer1 webServer2  cache.centos.bz

####下面是一些访问控制、日志和缓存目录的设置
acl localnet src 192.168.1.110 192.168.1.111
http_access allow all 
icp_access allow localnet 
cache_log /usr/local/squid/var/logs/cache.log 
access_log /usr/local/squid/var/logs/access.log squid 
cache_dir ufs /usr/local/squid/var/cache/ 1000 16 256 

### 对 squid 的一些优化
maximum_object_size 10240 KB  ### 能缓存的最大对象为 10M 
maximum_object_size_in_memory 512 KB ### 内存中缓存的最大对象 512K 
cache_mem 256 MB  ###squid 用于缓存的内存量


 在/etc/hosts添加:

squid1.centos.bz:192.168.1.110
squid2.centos.bz:192.168.1.111


squid2的配置完全一样,除了需要更改visible_hostname。

启动squid

检查 squid 配置文件正确与否:

/usr/local/squid/sbin/squid –Nk parse


生成缓存目录:

/usr/local/squid/sbin/squid –N -z


启动squid:

 

/usr/local/squid/sbin/squid


参考:http://www.ibm.com/developerworks/cn/linux/l-cn-squid/文章来源:http://www.centos.bz/2012/05/squid-reverse-proxy-deploy/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值