Здравствуйте, захотелось попробывать связку
Lua + Lighttpd + FastCGI.
1. Установил
lua5.12. На компе стоит
lighttpd3. Погуглив выяснил что FastCGI интерфэйсом для запуска в lighttpd *.lua скриптов, может выступать
wsapiустановил
liblua5.1-wsapi1, liblua5.1-wsapi-fcgi-dev, liblua5.1-wsapi-fcgi-14. Подправил /etc/lighttpd/conf-available/10-fastcgi.conf (в лайти у меня
php работает как
FastCGI и ссылка на conf-available уже прописана) , и добавил
wsapi интерфэйс для обработки *.lua скриптов :
".lua" =>
((
"bin-path" => "/usr/bin/wsapi.fcgi",
"socket" => "/tmp/lua.socket",
"min-procs" => 20,
"max-procs" => 20,
"idle-timeout" => 20
))
так как хочу тестировать в системе web-приложения написанные на
php и
lua .
5. Сохранил и сделал reload :
$ sudo /etc/init.d/lighttpd force-reload
Syntax OK
* Reloading web server configuration lighttpd [ OK ]
Проверил, php работает всё ок,
создал в своей www директории папку lua и test.lua скрипт, с содержимым :
function hello(wsapi_env)
local headers = { ["Content-type"] = "text/html" }
local function hello_text()
coroutine.yield("<html><body>")
coroutine.yield("<p>Hello Wsapi!</p>")
coroutine.yield("<p>PATH_INFO: " .. wsapi_env.PATH_INFO .. "</p>")
coroutine.yield("<p>SCRIPT_NAME: " .. wsapi_env.SCRIPT_NAME .. "</p>")
coroutine.yield("</body></html>")
end
return 200, headers, coroutine.wrap(hello_text)
end
Набираю в браузере localhost/lua/test.lua
выдаёт ошибку :
There was an error in the specified application. The full error message follows:
/usr/share/lua/5.1/wsapi/common.lua:147: attempt to call a nil value
stack traceback:
/usr/share/lua/5.1/wsapi/common.lua:147: in function
stack traceback:
/usr/share/lua/5.1/coxpcall.lua:24: in function
(tail call): ?
(tail call): ?
(tail call): ?
[string " if (select(2,...)) then..."]:66: in function <[string " if (select(2,...)) then..."]:63>
содержимое common.lua во вложении
Чем может быть вызвана ошибка, и пробывал ли кто нибудь запуск .lua скриптов в lighttpd ?
Есть такой мануал :
Запуск Lua + Orbit + WSAPI + FASTCGI + Lighttpd на Ubuntu 7.10Но не хочется фреймворк тянуть Orbit.
Хочется поработать просто с lua , да и модули какие то там создавать, непонятно в общем для начинающего осваивать ЯП Lua.
Так же есть такой мануал
FastCGI + LUA ,
неясно как работать с переменными окружения,
а форум lua.ru судя по всему мёртвый.
Если кто успешно пользовал связку Lighttpd+ Lua + FastCGI - отпишитесь пожалуйста,
и поделитесь опытом.
Или поправьте где я обшибся.