nginx

LuaJIT2をnginxで使うメモ

lua_resty_stringを使うのにLuaJIT2が必要だったので、インストールした時のメモ

LuaJIT2.0.0のインストール

$ wget http://luajit.org/download/LuaJIT-2.0.0.tar.gz
$ tar zxvf LuaJIT-2.0.0.tar.gz
$ cd LuaJIT-2.0.0
$ vi src/luaconf.h # 必要ならば定数の変更
$ make PREFIX=/usr/local/luajit
$ sudo make install PREFIX=/usr/local/luajit
$ vi /etc/ld.so.conf.d/luajit.conf
—–
/usr/local/luajit/lib
—–
$ sudo ldconfig

LuaJIT使用でnginxをコンパイル

$ cd /usr/local/src/nginx-1.2.6
$ export LUAJIT_LIB=/usr/local/luajit/lib
$ export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0
$ ./configure -user=nginx –prefix=/usr/local/nginx_app -with-http_stub_status_module -add-module=../lua-nginx-module -with-http_ssl_module –-with-debug
$ make
$ sudo make install

nginxのif

nginxのifは、複数条件(&&みたいな)が出来ないし、ネストも出来ないので工夫が必要。

携帯かつ特定のURLだった場合にリダイレクトさせたかったので、下記のようにしてみました。

set $ketai_url “”;
if ( $http_user_agent ~* “DoCoMo|KDDI|Vodafone|SoftBank” ) {
set $ketai_url $request_uri;
}

if ( $ketai_url ~* “/some/request/uri” ) {
rewrite ^(.*) http://irako.net/lp redirect;
}