Apache2.4 mod_lua を試した時のことを書く。

apache2.4で追加された、mod_luaをサンプルだけ動かして試した。
luaは「月」って意味らしい。かっこよすぎて惚れる。

http://httpd.apache.org/docs/2.4/mod/mod_lua.html

すげー動いた!(apache上でのstatusはExperimental「実験」である)


LoadModule lua_module modules/mod_lua.so

して、

AddHandler lua-script .luaするだけ。

あとはDocumentRoot直下のindex.lua
サンプルコードそのまま書いてみる。
こうするとindex.luaにアクセスがあった時に、そのファイルのhandleファンクションがapacheからコールされる。

require "string"

function handle(r)
  r.content_type = "text/plain"
  r:puts("Hello Lua World!\n")

  if r.method == 'GET' then
    for k, v in pairs( r:parseargs() ) do
      r:puts( string.format("%s: %s", k, v) )
    end
  elseif r.method == 'POST' then
    for k, v in pairs( r:parsebody() ) do
      r:puts( string.format("%s: %s", k, v) )
    end
  else
    r:puts("unknown HTTP method " .. r.method)
  end
end

無事、画面に「Hello Lua World!」と出ました。