<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[Apache限制多线程下载]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Fri, 03 Dec 2010 02:00:51 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	服务器上共享了一部连载漫画，刚开始发现迅雷的盗链下载很厉害，就用 .htaccess 屏蔽了迅雷下载。而后来下载的人越来越多，其它多线程下载软件的威力也不容小视，Apache 平均每秒钟就要新开 3 个线程，遇到集群下载，还真有点吃不消。<br/><br/>平时，服务器上50来个进程在运行，耗内存480M左右； <br/>下载集中的时候，服务器上300多个进程在运行（绝大多数是httpd），内存最高消耗1.5G，到达当前VPS允许使用的最大内存。 <br/>看来不对多线程下载进行限制是不行了，好在这个问题在 Apache 下解决起来并不是难事。不想重新编译 httpd，就用 DSO 模式安装非官方mod_limitipconn：<br/><br/>wget http://dominia.org/djao/limit/mod_limitipconn-0.23.tar.bz2<br/>tar xjvf mod_limitipconn-0.23.tar.bz2<br/>cd mod_limitipconn-0.23<br/>make<br/>make install<br/><br/>这里安装的版本是适合 Apache 2.2.X 的，理论上也可以用在 Apache 2.0.X 上，如果更老的 Apache 1.3，自己去看吧….mod_limitipconn.c。<br/><br/>安装好后需要编辑 httpd.conf ：<br/><br/>vim /usr/local/apache/conf/httpd.conf<br/><br/>找到 ExtendedStatus On 这行，如果前面有 # 号注解，就删除 #。<br/><br/>再搜索 mod_limitipconn.so 找到这行：<br/><br/>LoadModule limitipconn_module modules/mod_limitipconn.so<br/><br/>上面这行应该是在安装的过程中自动添加到 httpd.conf 里面的，保留，把如下内容添加到它的下面：<br/><br/>&lt;IfModule mod_limitipconn.c&gt;<br/>&lt;Location /Velvet_Kiss&gt;<br/>MaxConnPerIP 2<br/>&lt;/Location&gt;<br/>&lt;/IfModule&gt;<br/><br/>保存 httpd.conf 退出，重启Apache，就可以去测试效果了。<br/><br/>&lt;Location /Velvet_Kiss&gt;的意思是，Apache 只会限制 Velvet_Kiss 目录下同 IP 的链接数。比如，如果还有一个目录叫 /download，那么用户只能开 2 个线程下载 /Velvet_Kiss 目录下的文件，却可以开多线程下载 /download 目录下的文件。Linux 下 Apache 的目录结构通常是这样的，/home/user1/public_html/xxxx，设置限制多线程下载目录的时候，我们只需要 /xxxx 就可以了，不需要绝对路径。&lt;Location /&gt;是对全站进行限制。<br/><br/>MaxConnPerIP 2 的意思自然是同 IP 下最多只能开启两个线程下载，其余的线程将遭遇“Service Temporarily Unavailable”。<br/><br/>Apache限制多线程下载的一些扩展命令：<br/><br/>NoIPLimit img/*<br/>#表示对 img 文件夹不进行限制 <br/>OnlyIPLimit audio/mpeg video<br/>#仅对声音/视屏等多媒体文件进行限制下载 <br/><br/>来源：http://www.onepx.com/apache-limit-downloads.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] Apache限制多线程下载]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>