1

为什么 nginx 在没有 Lua 和 Openresty 的情况下可以正常工作时需要 Lua?

另外,我想知道哪些 Lua 模块对于构建大型 Web 应用程序非常重要。

4

1 回答 1

1

好的,这是两个问题。

为什么 nginx 需要 Lua

好吧,它不需要它;事实上,很多人使用普通的 nginx 就好了。尽管我通常只运行 openresty,但我经常发现自己仅使用 nginx 功能就可以做很多事情。

话虽这么说,Lua 是一种脚本语言,nginx 本身还没有(还没有)。它允许向网络服务器添加功能,而无需编写 C 模块,并且可以在运行时轻松更改或重新加载。

Kong 就是一个很好的例子:它使用 Lua 来编写 nginx 开箱即用并不真正支持的高级行为。

哪些 Lua 模块对于构建大型 Web 应用程序非常重要

实际上取决于您要构建的内容。原则上,你可以单独使用 openresty 构建很多东西,如果你做得对,它可能会比用其他框架编写的大多数应用程序更快。

通常,您很可能至少需要某种模板引擎。允许您构建 HTML 页面而不必依赖 Luas“原始”字符串处理功能的东西。您很可能还需要一些库来连接您决定使用的任何数据库。从那里开始,它实际上主要取决于您要构建的内容。

于 2019-11-12T07:20:32.957 回答