Nginx上传安装错误

时间:2013-05-28 02:45:15

标签: file-upload nginx tornado

我使用Nginx 1.4.1在Mac OSX Lion上。我正在将nginx与Tornado结合使用。

在安装Nginx上传模块(v.2.2.0)的过程中,我遇到了一些兼容性问题。有关详细信息,请参阅 this reference 。显然,到目前为止还没有很好的解决方法。我的具体错误源于:error: no member named 'to_write' in 'ngx_http_request_body_t'

  1. 有没有办法让这两个可靠地兼容而不会跳过篮球?

  2. 或者,是否有合适的替代方法可以使用与Nginx 1.4.1配合使用的上传模块?

  3. 如果没有,我应该考虑使用Nginx 1.3.8吗?如果是这样,我在哪里可以下载这个版本?我没有在他们的网站here上看到它可以下载。

  4. 感谢您的帮助。问候。

2 个答案:

答案 0 :(得分:1)

1)不,似乎没有nginx-file-upload的维护者暗示he doesn't want to maintain it any more

2)我发现这个article列出了一些替代方案。其中一个是nginx-big-upload我还没试过。

3)你可以考虑一下,但是你会被绑在一个没有维护的包装上。如果1.3.8存在安全漏洞,会发生什么?如果没有修补或更改文件上载策略,则无法升级。如果您愿意,可以找到all of the older Nginx versions here

目前情况非常令人沮丧,但有一些选择,其中没有一个是经过考验的。在处理生产系统时,稳定性和安全性是关键。

答案 1 :(得分:0)

1)是的,这个模块不支持nginx 1.4 +。

2)原因是nginx支持chunked of thansfer-encode,并改进其代码设计。它删除了ngx_http_request_body_t struct的字段to_write。

3)https://github.com/hongzhidao/nginx-upload-module。这是一个改变模块。它支持最新的nginx,功能相同。