关于nginx:在磁盘上写入上传的文件

write the uploaded files on the disk

查看web.py的此页面:http://webpy.org/cookbook/storeupload/注意如何将文件写入磁盘。

目前的情况是:我在virtualbox中启动了一个服务器,它有256 MB内存和512个交换空间。当我上传一个大于200MB的文件时,我会得到一个错误("页面暂时不可用")。

我认为python文件写入函数将整个文件读取到内存中,然后由于内存有限而崩溃。

我说的对吗?如果有,有什么解决办法吗?

谢谢你抽出时间来。


尽量不要在内存中读取整个文件,创建一个循环并以1024字节的块传输文件。


我认为你已经正确设置了nginx,尤其是client_max_body_size指令。

我认为你是对的,你的问题与糟糕的内存使用有关:它可能来自于read()方法。

在没有大小参数的情况下使用,将读取并返回文件的全部内容。由于该文件几乎和机器内存一样大,程序将耗尽并崩溃。

您应该做的是研究用Python复制文件的更好方法。