【发布时间】:2020-03-07 12:52:40
【问题描述】:
为什么在没有 Lua 和 Openresty 的情况下 nginx 也能正常工作时还需要 Lua?
另外,我想知道哪些 Lua 模块对于构建大型 Web 应用程序非常重要。
【问题讨论】:
-
nginx 默认不使用 Lua 编译。
为什么在没有 Lua 和 Openresty 的情况下 nginx 也能正常工作时还需要 Lua?
另外,我想知道哪些 Lua 模块对于构建大型 Web 应用程序非常重要。
【问题讨论】:
好的,这是两个问题。
为什么 nginx 需要 Lua
好吧,它不需要它;事实上,很多人使用普通的 nginx 就好了。尽管我通常只运行 openresty,但我经常发现自己仅使用 nginx 功能就可以做很多事情。
话虽如此,Lua 是一种脚本语言,而 nginx 本身还没有(还没有)。它允许向网络服务器添加功能,而无需编写 C 模块,并且可以在运行时轻松更改或重新加载。
Kong 就是一个很好的例子:它使用 Lua 编写 nginx 开箱即用并不真正支持的高级行为。
哪些 Lua 模块对于构建大型 Web 应用程序非常重要
这真的取决于您要构建的内容。原则上,仅使用 openresty 就可以构建很多东西,如果做得好,它可能会比大多数用其他框架编写的应用程序更快。
不过,通常情况下,您很可能至少需要某种模板引擎。允许您构建 HTML 页面而不必依赖 Luas“原始”字符串处理功能的东西。您很可能还需要一些库来连接您决定使用的任何数据库。从那里开始,它实际上主要取决于您要构建的内容。
【讨论】: