nginx - nginx下运行lua(用lua写网站)

标签 nginx lua cgi

作为一个学习练习,我花了一些时间通过创建一些基本的应用程序来学习 Lua。我已经在 Natty/Ubuntu 上安装并运行良好,但是,我对如何让它与 nginx 一起玩有点迷茫。

我在这里读了一点 http://wiki.nginx.org/HttpLuaModule#Installation
并克隆了这个 repo https://github.com/chaoslawful/lua-nginx-module进入我的/etc/nginx 文件夹...

但是,我仍然很迷茫,不确定如何让它在基本层面上工作。是否可以在我的 nginx.conf 文件中包含一些内容来处理/lua 请求,或者我是否需要完全重新编译/重新安装 nginx? (我宁愿避免这种情况)。

我已经通过 fpm 在 nginx 下使用 php 有一段时间了,但我真的不确定从哪里开始让 Lua 以类似的方式工作。

最佳答案

ngx_lua 模块用于直接在 nginx 网络服务器中运行 Lua 代码。以这种方式运行整个 Lua 应用程序是可能的,但这不是该模块的特定目标。实际上,某些模块指令特别不应该与长时间运行或复杂的例程一起使用。

您将需要使用此模块重新编译 Nginx,因为您不能只下载 Nginx 模块并像那样使用它。

要以类似于运行 PHP 的方式运行 Lua 应用程序,您可以配置 nginx 以将“.lua”请求传递给 Lua 处理程序(类似于 PHP)。

  • 您可以设置网络服务器,例如 the Lua webserver, xavante
    thttpd甚至 Apache 和“proxy_pass”对此类似
    有多少人使用 Apache for PHP。
  • 您可以将 Lua 设置为作为 CGI 运行(类似于 PHP 和 FastCGI
    尽管 Lua 没有 FPM 的等价物)并将其称为
    需要。

  • 这两个选项中的任何一个都不需要 ngx_lua。

    基本上,PHP、Lua 等都属于“CGI”脚本的广泛类别,并且运行这些脚本的任何“方法”都可以应用于 Lua。

    顺便说一句,openresty 只是普通的 Nginx,捆绑了一些 3rd 方模块,包括 ngx_lua,openresty 背后的人与 ngx_lua 背后的人是一样的。

    您可以根据需要手动将尽可能多的相同捆绑模块添加到 Nginx。

    关于nginx - nginx下运行lua(用lua写网站),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9434448/

    相关文章:

    php - 使用 Nginx 而不是 Apache 时,单独的 MySQL 服务器是否有意义?

    python - 用于 uvicorn 的 unix 套接字上的 Nginx 反向代理不起作用

    c - Lua: "Hide"函数

    c# - 在 .NET 中高效地重定向标准输出

    rl-rtx 中网页的 c 代码

    Nginx 记录查询 header 大小或 cookies 大小

    http - Nginx路径文件夹重写

    Lua - 四舍五入到双倍

    lua - 如何使用 Lua 脚本语言打开网络套接字?

    C 中的 CGI : Page Redirect