因为学校网络ipv4按流量收费,下载任何大文件的时候都要几分斟酌,更别说那种动辄几十G的大型软件/游戏
为了解决流量少的问题,并且既然自己租了这个vps就要好好利用一下,把它作为一个离线下载服务器,然后用ipv6网络免流量下载回本地,这样就很舒服
说做就做,服务器端下载软件装好,设置下载完的文件自动转移到web服务器的目录下,这样就可以直接通过http下载下来
这天正好看上一个游戏,服务器下载完毕,打开迅雷,下载到本地,看着10m/s的速度,心里感到无比幸福快乐
然后……问题终于开始爆发了,迅雷是真的强,给我的网站带来了大量流量,每秒N多个个请求,log增长速度肉眼可见,cpu占用永远100%,本来就龟速的网站速度更慢了……
可是我自己下载完成后顺手就把服务器上的文件删了啊……但是迅雷秉持着不抛弃不放弃的原则,一直默默的刷新404页面,我这渣配置服务器可真的是受不了了
终极解决方法:
在web服务器配置文件中将指定目录重定向到404页面,防止IO操作查询半天最终发现没有这个文件再返回404
location /download/{
return 404;
}
稍微厉害一点的解决方法:
加上文件是否存在的判断,这样还存在的文件就还能下载,当然别人也能下载,分享何乐而不为呢
location /download/{
if ( !-e $request_filename )
{
return 404;
}
}
好吧,那么问题来了,Windows下有什么多线程下载软件可以推荐一下?
1 赞
我一直用的是sftp……回头试试多线程下载
ftp。。=龟速。。sftp。。没用过
为什么不试试IDM/FDM呢?
在这事件之后用了IDM,可以说真的是很强了