mini_httpd、Haserl 和 Lua
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