首页 > 服务器 > Apache对大文件的支持

Apache对大文件的支持

2009年03月31号
查看评论 发表评论 670次浏览

最近使用测试机器下载了4G左右720p高清电影,顺便跑个apache做下载服务,好在家download,结果在家下载缺提示403错误,登陆服务器查询日志,发现如下错误日志:

Symbolic link not allowed:/var/www/test.mkv

我是在测试机器上做了个软链接链接到真实的文件存放地址,莫非是文件权限问题,查询文件权限,WEB用户想用读权限.

将真实文件cp到apache document目录,下载又提示如下:

(75)Value too large for defined data type: access to /test.mkv failed

访问httpd.apache.org,在首页Apache 2.2.11 Released摘要中提到了 Large File Support,查询2.2版本最新特性,发现以下内容:

Large File Support
httpd is now built with support for files larger than 2GB on modern 32-bit Unix systems. Support for handling >2GB request bodies has also been added.
查询自己apache版本号,2.0.52,看来2.0.52在32位系统上不支持大于2GB的文件。

刚好闲着没事,验证下这个结果,并确定2GB真实大小(dd中有GB若干字样,但有GB 1000*1000*1000, G 1024*1024*1024)

#echo 1024*1024*1024*2 |bc

2147483648

#dd if=/dev/zero of=/var/www/test.bin bs=1MB count=2KB //创建一个2,000,000,000字节大小文件

#wget –spider http://www.pengyao.org/test.bin

…….

长度:2,000,000,000 (2.0G) [text/plain]
200 OK

#echo 1 >> test.bin //文件大小已经为2,000,000,002个字节

#wget –spider http://www.pengyao.org/test.bin

长度:2,000,000,002 (2.0G) [text/plain]
200 OK

看来这里apache里边提到的GB和dd中提到的GB(1000*1000*1000)并不相同,而是1024*1024*1024

#dd if=/dev/zero/ of=/var/www/test.bin bs=1M count=2K

#stat test.bin

File: ‘test.bin’

Size: 2147483648 Blocks: 4198408 IO Block: 4096 一般文件

………

#wget –spider http://www.pengyao.org/test.bin

……..

已发出 HTTP 请求,正在等待回应… 403 Forbidden
19:21:05 错误 403:Forbidden。

查看apache日志:

(75)Value too large for defined data type: access to /test.bin failed

看来2G的文件也不被支持

同时为了验证是不是2G一下文件都支持,切割test.bin文件

#split -b 2147483647 test.bin

#wget –spider http://www.pengyao.org/xaa

……

长度:2,147,483,647 (2.0G) [text/plain]
200 OK

那么2,147,483,649个字节以上的文件是不是都不能下载哪?

#echo 1 >> xaa

#wget –spider http://www.pengyao.org/xaa

……

已发出 HTTP 请求,正在等待回应… 403 Forbidden
19:31:21 错误 403:Forbidden。

 

结论: Apache 2.0版本以下(含2.0)在32位操作系统中不支持大于2G文件(含2G),如果需要下载大于2G的文件,可以将该文件切割都小于2G下载或者使用apche 2.2或者以上版本

PS: 网络中提到一种apache编译方法,编译前先export CFLAGS=”-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64″,然后编译,使用64位进行编译,但此方法暂未验证是否有效.

类别服务器 标签
  1. air force one mid shoes
    发表于 2010年06月19号 16时27分01秒 | 1楼

    Thank you for being my friend!

  2. Фильмы купить
    发表于 2010年06月22号 22时21分21秒 | 2楼

    Привет. Я Надя написала комментарий на вашу статью про фильм и мне никто не ответил. Здесь нужно зарегистрироватся что ли как я поняла ?

  3. Сериалы
    发表于 2010年06月23号 04时45分06秒 | 3楼

    Привет. Я Людмилла написала отзыв на вашу статью про кино но мне никто не ответил. Тут нужно зарегистрироватся что ли как я поняла ?

  4. Клеопатра
    发表于 2010年06月23号 21时42分49秒 | 4楼

    Привет. Я Надя написала коммент на вашу статью про кино и мне никто не ответил. Тут нужно зарегистрироватся что ли как я поняла ?

  5. Фильмы скачать
    发表于 2010年06月24号 07时13分09秒 | 5楼

    Здравствуйте. Я Боня написала ответ на вашу статью про кино но мне никто не ответил. Тут нужно зарегистрироватся что ли как я поняла ?

  6. designer handbags sale
    发表于 2010年07月26号 08时55分22秒 | 6楼

    Profoundly true!

  7. vimaxmpeg
    发表于 2010年09月01号 07时49分34秒 | 7楼

    Thanks big!

  1. 目前没有通告