对nginx上传文件的第三方实现nginx-upload-module的修改

        nginx官方推荐的第三方上传模块nginx-upload-module在nginx-1.3.9后已经不能编译通过,究其原因是因为nginx-1.3.9废弃了ngx_http_request_body_t中的to_write成员指针。

        github上有人解决了这个问题,参考https://github.com/vkholodkov/nginx-upload-module/issues/41的讨论,davromaniak给出了解决方案。但是davromaniak的解决方案有些冗余,而hongzhidao给出更加清晰的解决方案,参考https://github.com/hongzhidao/nginx-upload-module。测试该方案没有问题,但是有个遗留的问题:在上传文件时,必须手动创建/tmp/0~/tmp/9目录,用于存放上传的文件。但是,如果在配置文件中配置upload_store /tmp 1 2 3;时,手动创建目录是很麻烦的,现在我在hongzhidao的基础上解决了这个问题,上传文件时不用手动创建存放上传文件的目录,另外我还修复了代码中限速失效的bug,参考https://github.com/winshining/nginx-upload-module

        欢迎下载测试。

        2019-01-08更新:有网友反馈编译时找不到md5.h文件,测试了一下,从nginx-1.11.2起,NGX_HAVE_OPENSSL_MD5_H等宏已经被删除,取而代之的是NGX_OPENSSL宏,它可以覆盖文件里的几个宏,已修复问题。注意,configure的时候需要添加选项--with-http_ssl_module,否则不会启用NGX_OPENSSL宏。

发布了22 篇原创文章 · 获赞 20 · 访问量 9万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览