Squid2.7 编译安装步骤

1. 下载与编译安装

###Step 1: export the CFLAGS###
export CFLAGS=-O2

###Step 2: configure the Orign Squid###
./configure --enable-kill-parent-hack --enable-large-cache-files --with-large-files --with-maxfd=344800 --enable-snmp --enable-internal-dns --disable-ident-lookups --enable-carp --enable-async-io=160 --enable-storeio=ufs,aufs,diskd,null,coss --enable-epoll --enable-linux-netfilter --enable-linux-tproxy --enable-stacktraces --enable-forward-log --enable-referer-log --enable-useragent-log --enable-delay-pools --enable-follow-x-forwarded-for --enable-forw-via-db --enable-ssl --enable-default-err-language=Simplify_Chinese --enable-err-languages="Simplify_Chinese English" --without-system-md5

###Step 3:make the source Code of Squid###
make

###Step 4:RUN the 'make install' after make command###
make install

Squid官方下载地址:
http://www.squid-cache.org/Versions/v2/2.7/

部分编译参数参考:

--enable-gnuregex		\Squid大量使用字符串处理做各种判断,加入此项能更好的处理
--enable-icmp			\加入icmp支持 
--enable-kill-parent-hack	\关掉suqid的时候,连同父进程一起关掉
--enable-snmp              \此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测,因此必须选择此项,使Squid支持SNMP接口。
--disable-ident-lookups    \防止系统使用RFC931规定的身份识别方法。
--enable-cahce-digests     \加快请求时,检索缓存内容的速度。 
--enable-arp-acl                 \可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗
--enable-default-err-languages="Simplify_Chinese" \ :指定出错是显示的错误页面为简体中文
--enable-linux-netfilter	 \可以支持透明代理
--enable-auth-modules            \此编译选项启用认证模块,可以对访问代理用户进行授权
--enable-follow-x-forwarded-for  \
--enable-storeio=aufs,ufs	 \(支持的存储模块)
--with-maxfd=65536               \参数是增大squid文件描述符到65536
--with-pthreads                  \
--enable-dlmalloc                \
--enable-poll                    \应启用Poll()函数而不是select()函数,通常而言poll(轮询)比select要好,但configure(脚本程序)已知Poll在某些平台下失效, 
                                  若你认为你比configure编译配置脚本程序要聪明的话,可以用这个选项启用Poll。总之就是用这个可以提升性能就是啦。 
--enable-underscore              \允许解析的URL中出现下划先,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址。
--enable-stacktraces             \ 
--enable-removal-policies=heap,lru    \
--enable-delay-pools             \此选项使能一个延时池,这样能对某些特定的请求限制额定

基础配置:

   用户和用户组配置:
   groupadd squid
   useradd -g squid -s /sbin/nologin  squid
   nologin 大多是虚拟用户用的SHELL ,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL设置成/sbin/nologin  
   -s 指定用户登入后所使用的shell

1,初始化你在 squid.conf 里配置的 cache 目录
   #/usr/local/squid/sbin/squid -z
   如果有错误提示,请检查你的cache目录的权限是否为squid。

2,对你的squid.conf 排错,即验证 squid.conf 的语法和配置。
   #squid/sbin/squid -k parse
   如果squid.conf 有语法或配置错误,这里会返回提示你,如果没有返回,可以尝试启动squid。

3,在前台启动squid,并输出启动过程。
   #squid/sbin/squid –Nd1
   -N保持squid前台运行,-d1在标准错误里显示1级别的调试信息。
   如果有到ready to server requests,启动成功。
   可以使用squidclient程序来测试
   Squdiclient http://www.squid-cache.org
   如果正常工作,squid的主页信息会打印到你的终端。

4,启动squid在后台运行。
   #squid/sbin/squid -s
   或者service squid start
   可以 ps -aux | grep squid 来查看系统进程,32位系统可以看到俩个squid 进程。

5,停止squid
   #squid/sbin/squid -k shutdown
   或者service squid stop

6,重引导修改过的 squid.conf
   #squid/sbin/squid -k reconfigure
   或者service squid reload
   这个可以随时修改squid.conf,然后别忘记对你的 squid.conf排错,然后再执行此指令,即可让squid重新按照你的squid.conf 来运行。
   /usr/local/squid/var/squid.conf.reload
   可以查看当前squid运行所加载的配置文件

7,把squid添加到系统启动项
   编辑 /etc/rc.d/rc.local
   添加如下行:/usr/local/squid/sbin/squid -s
   当然,并不是每个人都喜欢这种启动方式,你可以用你最习惯的方式;或者把它安装为服务。

再来点其他的:

1,修改cache缓存目录的权限。
   #chown -R squid:squid /data/cache1
   我的cache缓存目录是/data/cache1,squid执行用户和用户组是 squid,squid。

2,修改squid 日志目录的权限
   #chown -R squid:squid /data/proclog/log/squid/
   让squid有权限在该目录进行写操作。
   例如生成的 access.log cache.log store.log

3,查看你的日志文档。
   #more /usr/local/squid/var/logs/access.log | grep TCP_MEM_HIT
   该指令可以看到在squid运行过程中,有那些文件被squid缓存到内存中,并返回给访问用户。
   #more /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 章节。

相关文件介绍:

          /etc/squid/squid.conf      squid的主配置文件
          /etc/squid/errors          报告错误使用的语言
          /etc/squid/mib.txt         Squid-MIB定义文件
          /etc/squid/mime.conf       定义MIME-TYPE
          /etc/squid/msntauth.conf   MSNT认证的配置文件
          /usr/sbin/squid            Squid主程序
          /usr/sbin/squidclient      统计显示摘要表的客户程序
          /usr/lib/squid/*_auth      Squid的各种认证库文件

squid.conf 配置见《squid中文权威指南》

点赞 (0)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code