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 · 最終更新: by nullpon