运行cgilua.fcgi时出现WSAPI错误。

我正在尝试配置 Web 服务器使用 Lua 创建 Web 应用程序。我使用 lighttpd 作为默认的 Web 服务器来运行静态网站和 PHP 博客,因此,我的明显选择是 lighttpd。

在 Google 和这个列表历史中搜索,我发现可以轻松配置,快速实现,我遵循以下步骤:

  • 使用 luarocks 安装 cgilua
  • 使用 luarocks 安装 wsapi 和 wsapi-fcgi 作为依赖项
  • 在 lighttpd.conf 中配置几行
  • 重启 lighttpd

当我这样做时,lighttpd 停止了为我的网站提供服务。然后我在终端中运行 cgilua.fcgi,总是收到以下错误消息:

应用程序中的 WSAPI 错误: /usr/local/share/lua/5.1/wsapi/common.lua:408:找不到要加载的文件名,请检查您的配置或 URL 堆栈回溯: [C]:在函数中 'error' /usr/local/share/lua/5.1/wsapi/common.lua:408:在函数中 'adjust_non_wrapped' /usr/local/share/lua/5.1/wsapi/common.lua:422:在函数中 'normalize_paths' /usr/local/share/lua/5.1/wsapi/common.lua:665:在函数中(尾调用):? [C]:在函数中 'xpcall' /usr/local/share/lua/5.1/wsapi/common.lua:257:在函数中 'run_app' /usr/local/share/lua/5.1/wsapi/common.lua:284:在函数中 'run' /usr/local/share/lua/5.1/wsapi/fastcgi.lua:40:在函数中 'run' ...al/lib/luarocks/rocks/cgilua/5.1.4-1/bin/cgilua.fcgi:33:在主块中[C]:?

有谁能帮帮我?我做错了什么吗? 谢谢

点赞
用户1090246
用户1090246

解决方案

我发现的一种解决方案是在 lighttpd 上使用简单的 CGI 配置。没有 cgilua,没有 FastCGI,也没有任何依赖关系,只需启用 lighttpd 中的 CGI 模块并添加以下代码:

cgi.assign = (
    ".lua"  => "/usr/bin/lua",
)

但我读到过 CGI 太慢了,FastCGI 更好。使用“纯 CGI”太糟糕了吗?我认为这种方法简单快速,可以用它来启动我的 Web 应用。

有什么建议吗?

2013-08-05 02:57:06