Help us understand the problem. What is going on with this article?

Mac OS X (10.8) での nginx + lua-nginx-module インストール

More than 5 years have passed since last update.

nginx + lua-nginx-module の環境構築

nginx + lua-nginx-module を利用してなんかやりたいけど、
わざわざUbuntuの入ったVMを〜とかはだるかったので、Mac OS X (10.8)で
環境構築をしてみた。

Mac OS Xでの環境構築

pcre、LuaJITはnginxのインストールで必要なので、
homebrewでインストールしておく。
Luaでも問題ないのだけど、今回はLuaJITで。

brew install pcre
brew install luajit

nginx + lua-nginx-moduleのインストール

手順を公式で確認すると、
を見ると、nginx_devel_kit、ngx_luaが必要とのこと。
nginxについては先日(2013-04-24)リリースされたnginx1.4.0を利用する。

git clone したり、 git checkout したり。

> mkdir -p /usr/local/sandbox/nginx_lua_module
> cd /usr/local/sandbox/nginx_lua_module
>
> git clone git://github.com/simpl/ngx_devel_kit.git
> git clone git://github.com/chaoslawful/lua-nginx-module.git
> curl -O http://nginx.org/download/nginx-1.4.0.tar.gz
>
> tar -xvzf nginx-1.4.0.tar.gz
>
> cd ngx_devel_kit
> git checkout -b v0.2.18 v0.2.18
> cd ../lua-nginx-module
> git checkout -b v0.8.1 v0.8.1
> cd ../nginx-1.4.0

LuaJITのライブラリ及びヘッダファイルパスを設定

> export LUAJIT_LIB="`brew --cellar luajit`/2.0.1/lib"
> export LUAJIT_INC="`brew --cellar luajit`/2.0.1/include/luajit-2.0"

nginxのビルド準備

pcreはhomebrewを利用してインストールしているので、
CFLAGS及びライブラリへのリンクを指定する。

> mkdir -p /usr/local/nginx-1.4.0
> ./configure --prefix=/usr/local/nginx-1.4.0 \
> --add-module=/usr/local/sandbox/nginx_lua_module/ngx_devel_kit \
> --add-module=/usr/local/sandbox/nginx_lua_module/lua-nginx-module \
> --with-cc-opt='-O0 -I/usr/local/Cellar/pcre/8.32/include' \
> --with-ld-opt='-L/usr/local/Cellar/pcre/8.32/lib' 

configureスクリプトが通ったらビルド。

> make -j2
> make install

起動テスト

ビルドが通り、インストールも終わったら起動テストを行なってみる。

sudo /usr/local/nginx-1.4.0/sbin/nginx

http://localhost/ にアクセス。

nginx startup

OK。

lua-nginx-moduleの動作確認

既存のnginx.confに最低限の設定だけ残したり、編集したりして動作確認する。

> cd /usr/local/nginx-1.4.0/conf
> vi nginx.conf
worker_processes  1;

error_log  logs/error.log;
pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    access_log  logs/access.log;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        access_log  logs/host.access.log;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location /lua-test {
            default_type 'text/plain';
            content_by_lua "ngx.say('Hello,world!')";
        }
    }
}

新たに追加した/lua-testに対しアクセスをしてみる。

http://localhost/lua-test

lua-test

動作確認OK。
これで遊べるようになった。

futoase
Welcome to underground...
https://matsuzaki.dev/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした