mini_httpd、Haserl 和 Lua

来自 Alpine Linux

mini_httpd 是一个小型 HTTP 服务器。其性能不是非常出色,但对于低或中等流量的站点来说已经足够了。它实现了 HTTP 服务器的所有基本功能。

Haserl 是一个小程序,它使用 shell 或 Lua 脚本来创建 cgi web 脚本。它适用于 PHP 或 ruby 体积过大的环境。

Lua 是一种强大、高效、轻量级、可嵌入的脚本语言。它支持过程式编程、面向对象编程、函数式编程、数据驱动编程和数据描述。

mini_httpd 设置

关于 mini_httpd 的设置,请参阅文章 mini_httpd

Haserl 和 Lua 设置

Haserl 和 Lua 软件包在 Alpine Linux 仓库中可用。要安装它们,请运行

apk add haserl lua

您需要修改 mini_httpd.conf (以添加 cgipat)

内容为 /etc/mini_httpd/mini_httpd.conf

## 请勿在此处留空行! #host=www.example.org port=80 user=minihttpd dir=/www cgipat=**.sh

mini_httpd 服务应该重启,因为我们已经更改了它的配置

rc-service mini_httpd restart

创建示例 Lua 脚本

内容为 /www/test.lua

#!/usr/bin/haserl --shell=lua Content-type: text/html <html> <body> <table border=1><tr> <% t = {'Red', 'Blue', 'Yellow', 'Cyan'} for k,v in ipairs(t) do io.write('<td bgcolor="'..v..'">'..v..'</td>') end %> </tr></table> </body> </html>

设置执行权限

chmod +x /www/*.lua

故障排除

对于故障排除,您可以尝试运行命令

lua /www/test.lua

/www/test.lua

/usr/bin/haserl --shell=lua /www/test.lua

su - minihttpd /usr/bin/haserl /www/test.lua

apk add curl curl http://localhost/test.lua