Nginxのビルド時の、LuaJIT有効化の設定


export LUAJIT_LIB=/path/to/lib
export LUAJIT_INC=/path/to/include

この設定が入っていないと、LuaJITが有効にならないようです。
--with-cc-optの-Iオプションや、--with-ld-optの-Lオプションで指定したから大丈夫と油断していたら・・

ちなみに、LuaJITが有効になっていない時の症状は、こんな感じです。
(openresty相当のモジュールを併用しています。)

・LuaJIT: 読めない
luajit -b src.lua dst.luac として、
content_by_lua_file dst.luac; とすると、
nginxのerror.logに、bad byte-code header・・・と表示されます。

・Lua: 読める
luac -o dst.luac src.lua とすると、
正常に表示されます。

逆に、LuaJITが有効になっている場合。
・LuaJIT: 読める
・Lua: 読めない(・・はず。JITの方が読めたので、試してません。)

ちなみに、LuaJITが有効の場合と無効の場合を比較してみると、
処理速度が(ものすごく、ざっくりですが)倍くらいになるので、
遅い設定になっていないか、試してみるとよいかもしれません。

exportした変数での情報共有をやめよう  と、ものすごく書きたい衝動が。