2013-05-28 98 views
2

我在使用Nginx 1.4.1的Mac OSX Lion上。我将nginx与Tornado结合使用。Nginx上传安装错误

在安装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下载。

谢谢你的帮助。问候。

+0

上传模块和主体之间的不兼容似乎不是一个简单的解决方法。你有没有尝试最新的开发版本1.5.0? http://wiki.nginx.org/Install#Development –

+0

我还没有这样做,但我会试试看看它是否能解决任何问题。感谢您的建议。 – JohnZ

回答

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

这种情况是相当令人沮丧的,但有选择,只是没有一个是尝试和真实的。在处理生产系统时,稳定性和安全性至关重要。

0

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

2)原因是nginx支持分块编码,并改进了代码设计。它删除了ngx_http_request_body_t结构体的字段to_write。

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