squid安装



调整内核:
vi /usr/include/bits/typesizes.h
#define _ _FD_SETSIZE    8192


cat /proc/sys/fs/file-max ,如果是65362,则无需执行echo 8192 > /proc/sys/fs/file-max


增加进程文件描述符的限制,在你即将编译squid的同一个shell里执行如下命令(-H 硬性限制,-n  文件描述符限制)
ulimit -Hn 8192


在每次squid启动之前执行ulimit命令。




wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.12.tar.gz


tar -zxvf squid-3.1.12.tar.gz
cd squid-3.1.12


./configure --enable-async-io=160 --enable-removal-policies=heap,lru --enable-dlmalloc --enable-storeio=afus,diskd,ufs --enable-snmp --enable-gnuregex --disable-hostname-checks --enable-gnuregex


常用参数:
--enable-dlmalloc
一些系统上内建的内存分配机制(malloc)在使用squid时表现不尽人意。使用该选项将squid源代码包中的dlmalloc包编译和链接进来


--enable-async-io=160
改变使用的线程数量,aufs模块使用大量线程进行磁盘I/O操作,异步I/O
该操作等同于如下3个操作: --with-aufs-threads=N_THREADS --with-pthreads --enable-storeio=ufs,aufs


--enable-storeio=afus,diskd,ufs
默认是ufs,但性能有限,每秒的请求数少于5个时可以使用,aufs在Linux和Solaris上运行良好,但看起来在其他系统中有问题。


--enable-removal-policies=heap,lru
指定移除策略,默认是lru


--enable-snmp
--disable-hostname-checks


--enable-underscores(3.0中已经在config文件中指定,用allow_underscore)
主机名里可以使用下划线




--enable-gnuregex
强制使用squid源码中的GNU正则表达式,以便防止操作系统中没有内建表达式。


--enable-cache-digests(邻居模式使用)
如上参数会导致:
1)Squid cache产生它自己内容的摘要。邻居cache如果也配置了使用cache摘要,那可能就会请求这个摘要。
2)Squid请求每个邻居的cache摘要。
假如不想请求某个邻居的cache摘要,就在cache_peer行里使用no-digest选项,例如:
cache_peer neighbor.host.name parent 3128 3130 no-digest


--enable-icmp(邻居模式使用)
开启该参数后也必须以超级用户权限来安装pinger程序
如上操作会导致:
使用netdb来测量距离


--enable-carp
Cache数组路由协议(CARP)用来转发丢失的cache到父cache的数组或cluster


--enable-poll
configure脚本会自动计算,无需开启


make
make install




useradd -s /sbin/nologin -d /data squid




chown -R squid:squid /data


chown -R squid /usr/local/squid




vi /etc/profile
export PATH=$PATH:/usr/loca/squid/bin:/usr/local/squid/sbin


source /etc/profile


最好还编辑/etc/hosts 文件
添加以下内容
192.168.99.123  i.letao.com
这样免去查询DNS,速度也快一些


设置配置文件
 见《常用conf参数详解》


建立缓存目录:
mkdir /cache
chown -R squid:squid /cache


基本测试启动脚本:
/usr/local/bin/startsq.sh
#!/bin/sh


rm -rf /cache/*
#初始化Creating Swap Directories:
/usr/local/squid/sbin/squid -z


echo "8192" > /proc/sys/fs/file-max
ulimit -Hn 8192


#前台启动进行测试
/usr/local/squid/sbin/squid -NCd1
#后台进程启动,-s表示写入syslog
#/usr/local/squid/sbin/squid -s 




基本操作:


在前台运行,便于调试,如果有到 ready to server reques,恭喜,启动成功。
$squid -NCd1


验证 squid.conf 的语法和配置
#squid -k parse


停止squid
#squid -k shutdown


重新导入配置文件,之前最好parse来检查
#squid -k reconfigure


轮询日志
#squid -k rotate
一般在cron中配置:0 4 * * * /usr/local/squid/sbin/squid -k rotate




查看日志
#cat /usr/local/squid/var/logs/access.log | grep TCP_MEM_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到内存中,并返回给访问用户。
#cat /usr/local/squid/var/logs/access.log | grep TCP_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到cache目录中,并返回给访问用户。
#more /usr/local/squid/var/logs/access.log | grep TCP_MISS
该指令可以看到在squid运行过程中,有那些文件没有被squid缓存,而是现重原始服务器获取并返回给访问用户。
关于 TCP_XXXX 等参数及代表的信息,请参看《squid中文权威指南》13.2.1 章节。



































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值