用于CDN加速Squid的安装参数

来源:百度文库 编辑:神马文学网 时间:2024/04/29 18:13:41

--prefix=/usr/local/squid

这里设置安装目录。安装目录是所有可执行文件,日志,和配置文件的默认目录。

--localstatedir=/var/log/squid

该选项允许你改变 var 目录的安装位置。默认是$prefix/Var。

--sysconfdir=/etc

该选项允许你改变 etc 目录的位置。

--enable-dlmalloc

在一些系统上,内建的内存分配机制(malloc)在使用 squid 时表现不尽人意。使用该选项将 squid 源代码包中的 dlmalloc 包编译和链接进来。假如你的系统中已安装 dlmalloc,你能使用=LIB 参数指定库的路径。

--enable-gnuregex

在访问控制列表和其他配置指令里,squid 使用正则表达式作为匹配机制。GNU 的正则表达式库包含在 squid 的源代码包里;它可以在没有内建正则表达式的操作系统中使用。./configure 脚本侦察你系统中的正则表达式库,假如必要,它可以激活使用GNU正则表达式。如果因为某些理由,你想强制使用 GNU 正则表达式,你可以将这个选项加到./configure 命令后。

--enable-async-io[=N_THREADS]

异步 I/O 是 squid 技术之一,用以提升存储性能。aufs 模块使用大量的线程来执行磁盘I/O 操作。该代码仅仅工作在 linux 和 solaris 系统中。=N_THREADS 参数改变 squid 使用的线程数量。请注意--enable-async-io 是打开其他三个./configure 选项的快捷方式,它等同于:

                    --with-aufs-threads=N_THREADS

                    --with-pthreads

                    --enable-storeio=ufs,aufs

--with-pthreads

     该选项导致编译过程去链接到你系统中的 P 线程库。aufs 存储模块是 squid 中唯一需要使 用线程的部分。通常来说,如果你使用--enable-saync-io 选项,那么不必再单独指定该选项,因为它被自动激活了。

--enable-storeio=LIST

     Squid 支持大量的不同存储模块。通过使用该选项,你告诉 squid 编译时使用哪个模块。在 squid-2.5中,支持 ufs,aufs,diskd,和 null 模块。 LIST 是一个以逗号分隔的模块列表,例如:

     % ./configure --enable-storeio=afus,diskd,ufs

     ufs 模块是默认的,看起来问题最少。不幸的是,它性能有限。

--with-aufs-threads=N_THREADS

     指定 aufs 存储机制使用的线程数量。squid 默认根据缓存目录的数量,自动计算需要使用多少线程。

--enable-removal-policies=LIST

     排除策略是 squid 需要腾出空间给新的 cache 目标时,用以排除旧目标的机制。squid-2.5 支持3个排除策略:最少近期使用(LRU),贪婪对偶大小(GDS),最少经常使用(LFU)。

为了使用 GDS 或 LFU 策略,你需要指定:

    % ./configure --enable-removal-policies=heap

    然后你在 squid 的配置文件里选择使用 GDS 或 LFU。假如你想重新使用LRU,那么指定:

    % ./configure --enable-removal-policies=heap,lru

--enable-cachemgr -hostname[=hostname]

     cachemgr 是一个 CGI 程序,你能使用它来管理查询 squid。默认 cachemgr 的 hostname值是空的,但你能使用该选项来指定一个默认值。例如:

    % ./configure --enable-cachemgr-hostname=mycache.myorg.net

--enable-err-languages="lang1 lang2 ..."

     squid 支持定制错误消息,错误消息可以用多种语言报告。该选项指定复制到安装目录 ($prefix/share/errors)的语言。假如你不使用该选项,所有可用语言被安装。想知道何种语言 可用,请见源代码包里 errors 目录下的目录列表。如下显示如何激活多种语言:

     % ./configure --enable-err-languages="Dutch German French" ...

--enable-default-err-language=lang

     该选项设置 error_directory 指令的默认值。例如,假如你想使用荷兰语,你能这样指定: % ./configure --enable-default-err-language=Dutch 你也能在 squid.conf 里指定 error_directory 指令,假如你忽略该选项,英语是默认错误语言。

--disable-ident-lookups

     ident 是一个简单的协议,允许服务器利用客户端的特殊 TCP 连接来发现用户名。假如你使用该选项,编译器将把执行这些查询的代码排除出去。即使你在编译时保留了这些代码,除非你在 squid.conf 文件里指定,squid 不会执行 ident 查询。

--enable-poll

     unix 提供两个相似的函数用以在 I/O 事件里扫描开放文件描述符:select()和poll()../configure 脚本通常能非常好的计算出何时使用 poll()来代替 select().假如你想强制使用 poll(),那么指定该选项。

--disable-poll

     类似的,如果不使用 poll(),那么指定该选项。

--enable-x-accelerator-vary

该高级功能可能在squid被配置成加速器时使用。它建议squid在响应请求时,从后台原始服务器中寻找X-Accelerator-Vary头。

--with-maxfd=65535  

相当于ulimit -n 65535

CDN加速Squid 2.6参数设置

./configure --prefix=/usr/local/squid'

'--enable-async-io'

'--enable-storeio=aufs,null'

'--enable-removal-policies'

'--enable-cachemgr-hostname=CNC-JMS-27.fastcdn.com'

'--enable-default-err-language=Simplify_Chinese'

'--enable-err-languages=Simplify_Chinese'

'--enable-epoll'

'--disable-ident-lookups'

'--disable-poll'

'--disable-select'

'--disable-kqueue'

'--enable-x-accelerator-vary'

'--enable-large-cache-files'

'--enable-follow-x-forwarded-for'

'--with-maxfd=65536'