编译SQUID FOR WINDOWS版修改file descriptors限制

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 ,但是这里不影响运行。

### 配置Squid代理于Windows #### 安装Squid 为了在Windows平台上安装Squid代理服务器,可以从第三方编译好的二进制包获取安装程序[^2]。通常情况下,这些本会提供图形化界面引导用户完成基本的安装过程。 #### 启动Squid并注册为服务 一旦安装完毕,在`C:\squid\sbin`目录下可以找到用于控制Squid的服务命令工具。通过运行如下指令可将Squid作为Windows服务启动,并可以选择性地为其命名以及指定配置文件的位置: ```bash squid.exe -i -n MySquidService -f C:\custom\path\to\squid.conf ``` 这里 `-n` 参数允许定义服务名称(如未给出则默认名为`squid`),而 `-f` 则能更改默认位置以外的配置文件路径[^3]。 #### 修改配置文件 主要配置位于 `C:\squid\etc\squid.conf` 文件内。对于初学者来说,最简单的做法是从官方文档或其他可靠资源复制一份基础模板开始调整。一些常见的修改可能涉及端口监听、访问权限列表ACLs (Access Control Lists),以及其他安全性和性能优化选项。 例如,要使Squid仅接受来自本地网络请求,可在配置文件中加入以下行: ```plaintext acl localnet src 192.168.1.0/24 http_access allow localnet ``` 这表示任何源自IP地址范围内的客户端都将被授权使用此代理服务。 #### 设置存储模块 如果不需要磁盘缓存功能,则可以通过特定参数禁用它。当构建或重新编译源码时,添加 `--enable-storeio=null` 可实现这一点;但对于预编译而言,应当查阅其附带说明了解具体方法[^5]。 #### 自动启动与管理 成功注册之后,可通过“计算机管理”中的“服务”组件轻松管理和监控Squid的状态。右键点击对应条目即可设置开机自动加载或是手动停止/重启该进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值