如何通过nginx服务器上传文件到gridfs lua模块,应该使用哪个模块?

我正在尝试使用nginx来提供静态内容(图片 / CSS等) 我需要扩展多个实例的nginx以支持按照传入的负载分配。 因此我正在寻找Mongo + gridfs解决方案来存储静态文件-因为它提供了复制和分片。 我看到我可以使用以下任一模块之一来从gridfs中提供内容。 直接nginx模块 - https://github.com/mdirolf/nginx-gridfs

使用Lua脚本语言 https://github.com/bigplum/lua-resty-mongol

问题是-我是否可以在nginx本身中创建UploadImage api,在用户调用传输文件的POST方法时将文件存储到gridfs中。

看起来可能使用lua resty模块实现,但不确定。有什么办法吗?

点赞
用户4554496
用户4554496

你可以使用lua-resty-upload模块来处理用户上传,并将数据传递给lua-resty-mongol以写入Mongo。

对于大文件,您可以直接将读取的块直接写入以避免在内存中缓冲所有数据,该页面有一个使用文件的示例。

2016-08-18 09:19:05
用户6727236
用户6727236

我已经使用了上传的resty模块以及Lua mongo模块.. 并且它运行良好.. 现在我从周围的人得到一个建议,看看我们是否可以使用Java,而不是Lua来进行数据库连接,主要用于存储检索静态文件内容。

我看到也可以使用Java模块来完成这项工作,或者在nginx中也可以使用php或python。

问题是,使用这些语言之间的差异是什么-Lua vs Java vs PHP,我在选择一种语言时应该考虑哪些因素..性能,解决方案使用,封装等等。从何种角度来看?


答: 在使用Lua,Java或PHP进行开发时,每种语言都有其独特的优点和限制。在选择语言时,您需要考虑以下因素:

  1. 效能 - 不同的语言解释和执行速度不同,因此在选择语言时要考虑执行速度需要多快。

  2. 解决方案使用 - 不同的语言适用于不同类型的应用程序,因此您需要考虑您的应用程序需要哪种语言。

  3. 封装 - 不同的语言支持不同的封装技术,这可能会影响您开发过程中的工具和软件。

总之,选择适合您项目的语言可以提高开发效率并优化性能。

2016-08-28 11:39:12