1
2
3
4
5
6
7
|
yum
install
-y gcc gcc-c++
make
perl perl-devel
#安装依赖包
tar
zxvf squid-3.3.0.3.
tar
.gz
.
/configure
--prefix=
/usr/local/squid
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/
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
vi
/usr/local/squid/etc/squid
.conf
cache_effective_user squid
cache_effective_group squid
visible_hostname squid.
test
.com
#设置主机名
http_port 80 accel vhost vport
#配置squid加速模式
icp_port 3130
#cache_peer squid2.test.com sibling 80 3130 #此项为配置多个squid时配置,配置 squid2 为其邻居,当 squid1 在其缓存中没有找到请求的资源时,通过 ICP 查询去其邻居中取得缓存
cache_peer 192.168.0.203 parent 80 0 no-query originserver round-robin name=web1
cache_peer 192.168.0.204 parent 80 0 no-query originserver round-robin name=web2
#squid1 的两个父节点,originserver 参数指明是源服务器, round-robin 参数指明 squid 通过轮询方式将请求分发到其中一台父节点; squid 同时会对这些父节点的健康状态进行检查,如果父节点 down 了,那么 squid 会从剩余的 origin 服务器中抓取数据,round-robin表示使用通过 RR 轮询方式转发到两个父节点中的一个
cache_peer_domain web1 web2 squid.
test
.com
#允许web1、web2、squid.test.com请求
acl localnet src 192.168.0.202
#指定ip访问
http_access allow all
#允许所有人使用该代理.因为这里是代理加速web服务器
icp_access allow localnet
#允许从邻居服务器缓冲内发送和接收ICP请求
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
#高速缓存目录 ufs 类型使用的缓冲值最大允许1000MB空间,32个一级目录,256个二级目录
maximum_object_size 10240 KB
#能缓存的最大对象为 10M
maximum_object_size_in_memory 512 KB
#内存中缓存的最大对象 512K
cache_mem 256 MB
#squid 用于缓存的内存量
|
1
2
3
4
5
|
/usr/local/squid/sbin/squid
-s
#启动squid
/usr/local/squid/sbin/squid
–k parse
#检查squid配置文件是否正确
/usr/local/squid/sbin/squid
–N -z
#生成缓存目录
/usr/local/squid/sbin/squid
-k shudown或
/usr/local/squid/sbin/squid
-k
kill
#关闭squid
echo
"/usr/local/squid/sbin/squid -s "
>>
/etc/rc
.
local
#设置开机启动
|