Objetivo: configurar um servidor web que sirva conteúdo dinâmico utilizando a linguagem de programação Lua.
Pilha: Arch Linux, nginx, wsapi, fastcgi e Lua.
1º Passo: instalação dos pacotes
# pacman -Sy nginx fcgi
$ yaourt -S wsapi spawn-fcgi
2º Passo: configuração do nginx (web server)
Adicionar:
location ~ \.lua$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.lua;
fastcgi_param SCRIPT_FILENAME /srv/http/nginx$fastcgi_script_name;
include fastcgi_params;
}
3º Passo: Hello World
Criar o arquivo /srv/http/nginx/index.lua com o seguinte conteúdo:
require('wsapi.response')
require('wsapi.request')
return function(env)
local resp = wsapi.response.new()
resp:write('Hello world!')
return resp:finish()
end
A cada requisição, a função retornada pelo script é executada (o script só é carregado uma vez por instância).
4º Passo: ativar instâncias do FastCGI
$ sudo spawn-fcgi -F 4 -p 9000 -f /usr/bin/wsapi.fcgi
F (fork) é o número de filhos, p é a porta a ser utilizada e f o lançador.
5º Passo: teste:
$ sudo /etc/rc.d/nginx start
URL de acesso: localhost
Pronto.


