TKC Works

ギジュツ的なメモ、読書感想文など

OpenRestyに乗り換え

以前こんなエントリー書きまして、ちょっとしたAPIを作っていたんですが、
redis2-nginx-moduleがRedis2.0までのコマンドにしか対応しておらず、SCANとか新しめのコマンドが使えない自体に。。
まあページトップに大きく2.0と書いているし、GitHub見ても開発も止まってるぽいので早く気づけよ自分としか言えない。。

開発者ののagentzhさんがこちらのOpenRestyを開発しているようなので乗り換えることに。

このOpenResty、非常に便利でnginxをベースに必要そうなモジュール類がほぼ全部入りな感じ。lua-nginx-moduleも入っているのでこれまでのコードも使いまわせる。 インストールも簡単で公式通りにやるだけ。

wget http://openresty.org/download/ngx_openresty-VERSION.tar.gz
tar xzvf ngx_openresty-VERSION.tar.gz
cd ngx_openresty-VERSION/
./configure --with-luajit
make
sudo make install

perlreadlineなどは先にyumなどで入れておくこと。
./configure時にオプションで--with-luajitみたいにしてモジュールの追加削除が出来る。

起動は必要なディレクトリとnginx.confを作って、

PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH
nginx -p `pwd`/ -c conf/nginx.conf

Redisを使うにはこちらのlua-resty-redisで。redis2-nginx-moduleのようにいちいちロケーションを用意せずにluaコード内で呼ぶのでわかりやすくなった。