ユーザ用ツール

サイト用ツール


nginx

文書の過去の版を表示しています。


nginx

非同期IOで動作する高速なHTTPサーバ。

Basic認証

Apache の htpasswd がそのまま使える。

Ubuntu 10.04では以下のパッケージに htpasswd コマンドが含まれている(Apache本体は不要)

$ sudo aptitude install apache2-utils

/etc/nginx/conf/nginx.conf

http {
  ..
  server {
    ..
    location / {
      ..
      auth_basic "Staff Only";
      auth_basic_user_file /etc/nginx/conf/htpasswd;
    }
  }
}

passenger

nginx + passenger でrailsアプリを起動する。

Ubuntu 10.04では以下のライブラリをインストールする

$ sudo aptitude install build-essential
$ sudo aptitude install libcurl4-openssl-dev

rubyやgem、rails等のインストール後、gemでpassengerをインストール。ここではバージョンを明示しているが、特に指定せず最新版を入れると良い。

$ sudo gem install -v=3.0.7 passenger --no-rdoc --no-ri
$ sudo /var/lib/gems/1.8/gems/passenger-3.0.7/bin/passenger-install-nginx-module

とりあえず起動と停止

$ sudo /opt/nginx/sbin/nginx 
$ sudo /opt/nginx/sbin/nginx -s stop

nginx.conf

Rubyの設定(これはビルドすると最初から設定済み)

http {
    # ...

    passenger_root /var/lib/gems/1.8/gems/passenger-3.0.8;
    passenger_ruby /usr/bin/ruby1.8;

    # ...
}

Rails(Rack)の設定

http {
    # ...

    server {
        listen       80;
        server_name  rails.paulownia.jp;
        root         /var/www/rails.paulownia.jp/app/public;
        passenger_enabled on;
    }
}

Railsの特定のパス以下にbasic認証をかけたい場合は、basic認証をかけるフォルダでも passenger_enabled on を設定する。

http {
    # ...

    server {
        listen       80;
        server_name  rails.paulownia.jp;
        root         /var/www/rails.paulownia.jp/app/public;

	location / {
            passenger_enabled on;
	}

        location /auth/ {
            passenger_enabled on;
            auth_basic "Authentication Required";
            auth_basic_user_file "/var/www/rails.paulownia.jp/app/htpasswd";
        }
    }
}
nginx.1313589557.txt.gz · 最終更新: 2011/08/17 13:59 by nullpon