--disable-http-violations
squid 默认能够被配置成违背HTTP协议规范。您能使用该选项来删除违背HTTP协议的代码。
--enable-ipf-transparent
在第9章中,我将描述如何配置squid来拦截缓存。一些操作系统使用IP Filter包来协助拦截缓存。在这些环境下您应该使用该./configure 选项。假如您使用了该选项,但是编译器提示src/client_side.c文档出错,那是因为IP Filter包没有或没有正确的安装在您的系统中。
--enable-pf-transparent
您可能需要指定该选项,使用PF包过滤器在操作系统中拦截HTTP。PF是OpenBSD的标准包过滤器,也可能被发布到其他系统中。假如您使用该选项,但是编译器提示src/client_side.c 文档出错,那是因为PF 没有实际安装到您的系统中。
--enable-linux-netfilter
Netfilter 是linux 2.4 系列内核的包过滤器名字。假如您想在linux2.4或以后的版本中使用HTTP拦截功能,那么激活该选项。
--disable-ident-lookups
ident是个简单的协议,允许服务器利用客户端的特别TCP连接来发现用户名。假如您使用该选项,编译器将把执行这些查询的代码排除出去。即使您在编译时保留了这些代码,除非您在squid.conf文档里指定,squid不会执行ident查询。
--disable-internal-dns
squid 源代码包含两个不同的DNS 解决方案,叫做“内部的”和“外部的”。内部查询是默认的,但某些人可能要使用外部技术。该选项禁止内部功能,转向使用旧的方式。
内部查询使用squid自己的DNS协议执行工具。也就是说,squid产生未完成的DNS查询并且将他们发送到一个解析器。假如超时,他重新发送请求,您能指定任意数量的解析器。该工具的有利处之一是,squid获得准确无误的DNS响应的TTLs。
外部查询利用C库的gethostbyname()和gethostbyaddr()函数。squid使用一个外部进程池来制造并行查询。使用外部DNS 解析的主要弊端是您需要更多的辅助进程,增加squid的负载。另一个麻烦是C 库函数不在响应里传输TTLs,这样squid使用postive_dns_ttl 指令提供的一个常量值。
--enable-truncate
truncate()系统调用是unlink()的替代品。unlink()完全删除cache 文档,truncate()将文档大小设为零。这样做释放了分配给该文档的磁盘空间,但留下适当的目录接口。该选项存在的理由是,某些人相信(或希望)truncate()比unlink()性能表现更好。然而,压力测试显示两者有很少的或根本没有区别。
--disable-hostname-checks
默认的,squid需要URL主机名在一定程度上遵守古老的RFC 1034 规范:
标签必须遵循下列ARPANET 主机名规则。他们必须以字母开始,以字母或数字结尾,仅仅包含字母,数字和下划线。
这里字母意味着ASCII字符,从A到Z。既然国际域名日益流行,您可能希望使用该选项来移除限制。
--enable-underscores
该选项控制squid针对主机名里下划线的行为。通用的标准是主机名里不包含下划线字符,尽管有些人不赞成这点。squid默认会对URL主机名里带下划线的请求产生一条错误消息。您能使用该选项,让squid信任他们,把他们当作合法的。然而,您的DNS解析器也许强迫使用非下划线请求,并且对带下划线的主机名解析失败。
--enable-auth[=LIST]
该选项控制在squid的二进制文档里支持哪种验证机制。您能选择下列机制的任意组合:
basic,digest,ntlm。假如您忽略该选项,squid 仅仅支持basic 验证。假如您使用不带参数的--enable-auth选项,编译进程将增加对任何验证机制的支持。您能够使用以逗号分隔的验证机制列表:
% ./configure --enable-auth=digest,ntlm
我在第六章和第十二章里会谈得更多。
--enable-auth-helpers=LIST
这个旧选项现在已舍弃了, 但为了保持向后兼容性仍保留着。您能够使用--enable-basic-auth-helperes=LIST 来代替。
--enable-basic-auth-helpers=LIST
使用该选项,您能将helpers/basic_auth 目录的一个或多个HTTP Basic验证辅助程式编译进来。请见12.2章找到他们的名字和描述。
--enable-ntlm-auth-helpers=LIST
使用该选项,您能将helpers/ntlm_auth 目录的一个或多个HTTP NTLM验证辅助程式编译进来。请见12.4章找到他们的名字和描述。
--enable-digest-auth-modules=LIST
使用该选项,您能将helpers/digest_auth 目录的一个或多个HTTP Digest验证辅助程式编译进来。请见12.3章找到他们的名字和描述。
--enable-external-acl-helpers=LIST
使用该选项,您能编译一个或多个扩展ACL辅助程式,这些在12.5章中讨论。例如:
% ./configure --enable-external-acl-helpers=ip_user,ldap_group
--disable-unlinkd
unlinkd 是另一个squid的外部辅助进程。他的基本工作是对cache文档执行unlink()或truncate()系统调用。通过在外部进程里执行文档删除工作,能给squid带来明显的性能提升。使用该选项来禁止外部unlink进程功能。
--enable-stacktrace
某些系统支持在程式崩溃时,自动产生数据追踪。当您激活该功能后,假如squid崩溃,数据追踪信息被写到cache.log文档。这些信息对研发和程式bug调试有用。
--enable-x-accelerator-vary
该高级功能可能在squid被配置成加速器时使用。他建议squid在响应请求时,从后台原始服务器中寻找X-Accelerator-Vary头。
在安装完后,您将在squid 的安装目录里(默认是/usr/local/squid)见到下列目录和文档:
文章整理:西部数码--专业提供域名注册、虚拟主机服务
sbin
sbin 目录的程式正常只能被root 启动
sbin/squid
Squid 的主程式
bin
bin 目录包含对任何用户可用的程式
bin/RunCache
RunCache是个shell脚本,您能用他来启动squid。假如squid死掉,该脚本自动重启他,除非他检测到经常的重启。RunCache是个时间遗留的产物,那时Squid还不是后台服务进程。在最近的版本里,RunCache很少用到,因为Squid自动重启他自身,当您不使用-N选项时。
bin/RunAccel
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




