为什么nginx需要Lua,而不使用它也可以工作?

为什么nginx需要Lua,即使没有使用Lua和Openresty也能正常工作?

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

点赞
用户4984564
用户4984564

好的,这是两个问题。

为什么 nginx 需要 Lua

嗯,它并不一定 需要 它; 实际上,许多人都可以很好地使用普通的 nginx。虽然我通常只运行 openresty,但我经常发现自己可以使用 nginx 的特性完成很多事情。

话虽如此,Lua 是一种脚本语言,nginx 本身没有(但是)它。它允许在运行时添加 web 服务器功能,无需编写 C 模块,且可以轻松更改或重新加载。

Kong 就是一个很好的例子:它使用 Lua 脚本高级行为,这是 nginx 其本身并不支持的。

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

这实际上取决于你想要构建什么。原则上,你可以只用 openresty 构建许多东西,并且如果你做得好,它可能比使用其他框架编写的大多数应用程序都更快。

通常,你最可能需要至少某种模板引擎。一些允许你构建 HTML 页面,而不必依赖于 Luas “基本的”字符串处理功能的东西。您还可能需要一些库来与您决定使用的任何数据库进行接口。从那里开始,它在很大程度上取决于您想要构建什么。

2019-11-12 07:20:32