摘要:squid的安装
squid的安装及安装前准备共五个步骤:
1、检查内核特性
2、添加squid用户
3、对系统硬件参数进行优化
4、rpm包的安装
5、源代码包的安装
一、squid安装
1、首先确定你的内核已经配置了以下特性:
[*] Network firewalls
[ ] Socket Filtering
[*] Unix domain sockets
[*] TCP/IP networking
[ ] IP: multicasting
[ ] IP: advanced router
[ ] IP: kernel level autoconfiguration
[*] IP: firewalling
[ ] IP: firewall packet netlink device
[*] IP: always defragment (required for masquerading)
[*] IP: transparent proxy support
如果没有,请你重新编译内核。一般在RedHat6.x以上,系统已经缺省配置了这些特性
2、添加suqid用户和用户组
#groupadd squid
#useradd squid
3、对CPU进行优化
#export CFLAGES='-O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2'
可以根据你的CPU选择相应的参数
GCC-3.1以上可針對CPU最佳化:
Pentium2: -O2 -mcpu=i686 -march=i686 -mmmx
Pentium3: -O2 -mcpu=pentium3 -march=pentium3 -mmmx -msse
Pentium4: -O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2
4、rpm包的安装
1.进入/mnt/cdrom/RedHat/RPMS
2.执行rpm -ivh squid-2.2.STABLE4-8.i386.rpm。
5、源代码包的安装
1.从http://www.squid-cache.org下载squid-2.3.STABLE2-src.tar.gz。
2.将该文件拷贝到/usr/local目录。
3.解开该文件 tar xvzf squid-2.3.STABLE2-src.tar.gz。
4.解开后,在/usr/local生成一个新的目录squid-2.3.STABLE2,为了方便用mv命令将 该目录重命名为squid
mv squid-2.3.STABLE2 squid;
5.进入squid cd squid
6.执行./configure 可以用./confgure --prefix=/directory/you/want指定安装目录
如:
#./configure
--prefix=/usr/local/squid
--enable-delay-pools
--enable-snmp
--enable-cache-digests
--enable-auth-modules=”NCSA”
可以通过./configure --help来查看其他的参数,以及各个参数的英文解释。
--prefix=/usr/local/squid :指定安装路径 为便于管理,可用--sysconfdir=/etc把这个文件位置配置为/etc
--enable-arp-acl #这样可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗
--enable-async-io=80 :这个主要是设置async模式来运行squid,我的理解是设置用线程来运行squid,如果服
务器配置很不错,有1G以上内存,cpu使用SMP的方式的话可以考虑设成160或者更高。如果服务器比较糟糕就根
据实际情况设了。另外此项还另cache文件支持aufs
--enable-auth-modules 此编译选项启用认证模块,可以对访问代理用户进行授权。
--enable-cache-digests 使能缓存摘要,本来此项目的是为了在Squid集群服务之间迅速发现缓存对象,这里
在本地使用,可以加快请求时,检索缓存内容的速度。
--enable-err-language="Simplify_Chinese" 和
--enable-default-err-languages="Simplify_Chinese" :指定出错是显示的错误页面为简体中文
--enable-delay-pools 此选项使能一个延时池,这样能对某些特定的请求限制额定带宽。
--enable-gnuregex :由于Squid大量使用字符串处理做各种判断,加入此项能更好的处理。
--enable-icmp :加入icmp支持
--disable-ident-lookups :防止系统使用RFC931规定的身份识别方法。
--enable-kill-parent-hack :关掉suqid的时候,要不要连同父进程一起关掉,这个当然要啦
--enable-linux-netfilter #允许使用Linux的透明代理功能。
--enable-poll :应启用Poll()函数而不是select()函数,通常而言poll(轮询)比select要好,但configure(脚
本程序)已知Poll在某些平台下失效, 若你认为你比configure编译配置脚本程序要聪明的话,可以用这个选项
启用Poll。总之就是用这个可以提升性能就是啦。
--enable-snmp :此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测,因此必须选择此项,使Squid
支持SNMP接口。
--enable-storeio=ufs,null #使用的文件系统通常是默认的ufs,不过如果想要做一个不缓存任何文件的代理
服务器,就需要加上null文件系统。
--enable-underscore :允许解析的URL中出现下划先,因为默认squid会认为带下划线的URL地址是非法的,并
拒绝访问该地址。
系统缺省安装目录为/usr/local/squid。
7.执行 make all
8.执行 make install
9.安装结束后,squid的可执行文件在安装目录的bin子目录下,配置文件在etc子目录下。