从现在开始,我将 Lua 编程语言很好地用于各种脚本,我想继续使用它(这是我的第六种语言或其他语言)。但是我找不到制作非常简单的 lua web 应用程序的解决方案,这非常令人沮丧。
我已经尝试过 WSAPI、Orbit、mongrel2 和 tir 试图制作一个简单、直接的系统来为一些非常简单的 lua CGI 提供服务,但我失败了,它最终总是在一个具有大量依赖项的系统中,而不是可移植的,并散布在很多文件和目录和子目录中......我什至尝试修改nanoki,结果相同。当然,我学到了一些东西,但我和刚开始的时候一样。 Lua在web开发领域似乎并不友好。
在 Django 或 web2py 或 php 中,我可以在三分钟内制作简单的应用程序。但是我会用几十个文件来膨胀一个简单的脚本/功能。或者我必须使用我适度讨厌的语言 (php)。
我需要一些不会妨碍我的东西,类似于 web.py 或 cherrypy 或 ruby 的 pow,但在 lua 中。
我编译了 haserl,但我不知道如何使用它,因为它缺少文档(不幸的是,这是 lua 世界中的一个常见问题)。 mod_lua/apache,可能不错,但我还没有在所有互联网上找到包含一些示例用法的页面。对于 lighttpd 和 nginx + lua 中的 mod_magnet 也是如此。
我开始感到沮丧。我不需要数百万用户网站上的光速服务器,我需要通过局域网提供简单的动态 lua 内容。我认为这不需要火箭科学家...
那么,您将如何进行?在 lua 中有支持标准 cgi 的最小、简单的网络服务器吗?即插即用的东西,让你和我专注于脚本的作用,而不是如何以邪恶的方式将简单的事情荒谬地复杂化?
PS:我的环境是Linux。
最佳答案
您听说过 Luvit 吗?它基本上是 Lua 中的 NodeJS
一个简单的脚本如下所示:
local HTTP = require("http")
HTTP.create_server("0.0.0.0", 8080, function (req, res)
local body = "Hello world\n"
res:write_head(200, {
["Content-Type"] = "text/plain",
["Content-Length"] = #body
})
res:finish(body)
end)
print("Server listening at http://localhost:8080/")
Here是创作者的原创帖子。
关于http - 如何以简单、无痛的方式提供 lua 页面/脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8565989/