有没有办法在 nginx 上使用 django 上传一个非常大的文件?
Posted
技术标签:
【中文标题】有没有办法在 nginx 上使用 django 上传一个非常大的文件?【英文标题】:Is there any way to upload a very large file use django on nginx? 【发布时间】:2012-07-15 03:52:33 【问题描述】:我使用 django 运行我的网站和 nginx 作为前端网络服务器,
但是当我将一个非常大的文件上传到我的网站时,
我花了很长时间,
nginx手动上传大文件时出现问题;
nginx 收到我所有的 post 文件后会将文件发送到 django;
所以这将花费我更多的时间;
我想找一些其他的网络服务器来代替 nginx;
希望您的建议?
【问题讨论】:
上传大文件需要很长时间。它就是这样。习惯就好。 如果我能忍受,我不会发布这个请求。^_^... @timger:不同的网络服务器不会使文件上传更快。 【参考方案1】:你的问题不是在 nginx 中,而是在 nginx 设置中。
如果你想用 django 处理文件 - 你应该改变一些参数
Timeout when uploading a large file?
否则 nginx 可能会自己处理文件
http://www.grid.net.ru/nginx/upload.en.html
【讨论】:
【参考方案2】:Nginx 可能是最好的 http 服务器了,没必要换。我会建议你通过 ftp 或 nfs 共享上传非常大的文件。
【讨论】:
我想建立一个网站共享文件使用像亚马逊s3这样的http,所以我需要一个可以处理上传大文件的网络服务器 @timger Nginx 可以很好地处理大文件。你的问题是 django。【参考方案3】:如果您不想将文件传递给您的 django 应用程序,那么您应该使用:
fastcgi_pass_request_body off;
您可能还想使用上传模块:http://www.grid.net.ru/nginx/upload.en.html
【讨论】:
【参考方案4】:看看http://www.tornadoweb.org/的龙卷风你可以在django旁边使用它并处理文件上传。
在我的项目中,我成功地将 django 与 tornado 一起使用,它可以处理 API 调用和长 ajax 请求。
【讨论】:
以上是关于有没有办法在 nginx 上使用 django 上传一个非常大的文件?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 ubuntu 上同时使用 Pytion3、django2.0.2 和 MySql?
如何使用 Nginx 和 GUnicorn 在单个服务器上部署多个 Django 应用程序?