カテゴリー
Uncategorized

Nginx

  • 設定ファイルは上から下に評価されるわけではない
    • location の順序だけでなく、location 内部の各種設定も含む
    • configure する際に読み込む順番でも変わる?
  • if はネストできないし、and/or で複数の条件を設定できない
  • スクリプト言語の埋め込みができる
    • Perl は標準でサポート
    • Lua のモジュールもある
    • JavaScript のモジュールもあるが node.js と互換がないし、ビルドも面倒でオススメではない
    • if 等との使い分けはその時々のバランス考えて
  • 設定ファイルのデバッグは echo, Lua/print 等で

break, if, return, set

build Nginx on Ubuntu 11.04

ubuntu でのビルド手順と個人的な設定。

% mkdir nginx; cd nginx
% git clone https://github.com/simpl/ngx_devel_kit
% git clone https://github.com/simpl/ngx_http_set_hash
% git clone https://github.com/calio/form-input-nginx-module
% git clone https://github.com/agentzh/echo-nginx-module
% git clone https://github.com/agentzh/encrypted-session-nginx-module
% git clone https://github.com/agentzh/set-misc-nginx-module
% git clone https://github.com/agentzh/rds-json-nginx-module
% git clone https://github.com/FRiCKLE/ngx_postgres
% sudo apt-get install build-essential libpcre3-dev libxml2-dev libxslt1-dev libgd2-noxpm-dev libgeoip-dev postgresql-server-dev-9.1 luajit libluajit-5.1-dev
% wget http://nginx.org/download/nginx-1.2.1.tar.gz
% tar xf nginx-1.2.0.tar.gz
% cd nginx-1.2.0
% LUAJIT_LIB=/usr/local/lib/ LUAJIT_INC=/usr/include/luajit-2.0 \
./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--lock-path=/var/lock/nginx.lock \
--pid-path=/var/run/nginx.pid \
--with-debug --with-http_gzip_static_module --with-http_realip_module \
--with-http_ssl_module --with-http_sub_module --with-ipv6 \
--with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl \
--add-module=../ngx_devel_kit \
--add-module=../set-misc-nginx-module \
--add-module=../echo-nginx-module \
--add-module=../lua-nginx-module \
--add-module=../encrypted-session-nginx-module \
--add-module=../form-input-nginx-module \
--add-module=../ngx_postgres \
--add-module=../rds-json-nginx-module \
--add-module=../ngx_http_set_hash
% make; sudo make install

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です