编译SQUID FOR WINDOWS版修改file descriptors限制_网络技术...

来源:百度文库 编辑:神马文学网 时间:2024/04/29 07:20:36
windows版本的SQUID对file descriptors限制为2048,一般的做反向代理的CDN服务器是能够运行的。但是像本地宝每天上百万浏览量,file descriptors限制为2048就明显不行啦。访问量一大,SQUID反应速度将会降低,squid官方提供的最新稳定版本(squid-2.7stable4)默认的文件描述符(file descriptors)为2048个,一般来说一个HTTP请求会打开一个文件描述符,假如有一个网页,代码里有3个js,1个css,10张图片,那么每个访问者打开这个页面都将打开15个文件描述符,这样当这台缓存服务器同时被很多人访问时,文件描述符很快就会被用完,同时日志中可以看到:日志里会报WARNING! Your cache is running out of filedescriptors这样的错误。

         file descriptors不能在配置文件中修改,只能对SQUID重新编译,而网上大部分介绍的都是LINUX操作系统的编译方法。本人碰到这个问题时,在网上找了很多资料,由于本人英文不好,看不懂外文网站,只能找中文文章,但相关的资料相当少,后来找到一篇文章,对我的编译成功帮助很大:http://www.cnblogs.com/rym1020/archive/2008/10/12/1308923.html。

         下面讲讲在WINDOWS下的编译方法:

        1、建立编译环境:

              a.首先下载所需的软件,海豹已经打包好了,大家下载下来就可以用了,里面包括了:MSYS、MINGW、WINDOWS API、MSYS Developer Tool Kit及SQUID2.7的源码。单击网址下载:http://www.sz800.com/soft160/squid-soft.rar

             b.解压后先安装:minGW,安装路径为C:\msys\1.0\mingw,装的时候勾选MinGW base tools、g++ compiler、MingW Make这3个即可,注意修改安装路径,否则后面编译不成功

             c.然后装MSYS,按默认的路径C:\msys\1.0装。装完配置时会有3个问题,前2个按y回车,第3个让你输入mingw的路径,C:/msys/1.0/mingw回车(注意是反斜杠)

             d.安装最后安装msysDTK。点击downloading.exe安装

             e.安装GZIP,双击gzip-1.3.12-1-setup.exe

           2.开始编译

            a.在C盘新建squidsrc目录,复制squid.tar.gz 到squidsrc目录下,复制w32api-3.13-mingw32-dev.tar.gz到squidsrc目录中

            B.点开始菜单-mingw-msys-msys启动编译程序。

            c.输入命令:cd c:/squidsrc/ 回车。然后输入:tar xvzf squid.tar.gz 解压缩源码,这里不要用winrar解压缩,否则不能编译成功。

                这里插一点“安装windows api”:输入:tar xvzf w32api-3.13-mingw32-dev.tar.gz解压出winapi,会在squidsrc目录中产生两个目录:include lib 然后将这两个目录复制到:C:\msys\1.0\mingw 目录下,问是否替换,点“确定”替换。如果下面make命令时会出错: error: syntax error before "PSecurityUserData" 就是这一步没做好.

             D.输入命令:cd squid-2.7.stable4进入源码目录。

            e.输入命令:./bootstrap.sh回车,将会在源码目录生成一些编译所需的文件。

             F.输入命令:./configure --prefix=c:/squid --with-maxfd=20480 --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none   这里将file descriptors数量设为:20480。这个命令比较费时,不要急.

            G.在c盘根目录建立:squid目录,输入命令:make 执行完后如果不出错则,再输入命令:make install 顺利的话就完成了squid的编译,这两个命令比较费时,不要急.

         

             以上是我编译SQUID的过程,写出来给大家参考,查资料时看网上很多朋友说道不会编译,但网上又没有修版下载。而感到困惑。 呆会我将我编译好的提供给大家下载。

本文作者:海豹 QQ:103201165 欢迎交流SQUID经验.

          看看我的编译后的日志:

2009/01/04 13:51:29| Starting Squid Cache version 2.7.STABLE4 for i686-pc-mingw32...
2009/01/04 13:51:29| Running as Squid Windows System Service on Windows Server 2003
2009/01/04 13:51:29| Service command line is:
2009/01/04 13:51:29| Process ID 1644
2009/01/04 13:51:29| With 20480 file descriptors available    '这里变成了20480
2009/01/04 13:51:29| With 512 CRT stdio descriptors available    '这里不知道为什么就变成了512,原来是1024 ,但是这里不影响运行。