Ubuntu 10.04 TLS に nginx + passenger + sinatra を入れたメモ(1)
準備
make するのに必要なものを入れとく
sudo apt-get install build-essential zlib1g-dev libcurl4-openssl-dev
インストール
sudo gem install passenger sudo env PATH=$PATH passenger-install-nginx-module
ちなみにデフォルトのインストール先は、/opt/nginx になってたけど、気分悪いから /usr/local/nginx にしておいた。
で、ここにある起動スクリプトをダウンロードして /etc/init.d に保存
設定
- nginx へのパス :/usr/local/nginx/sbin/nginx
- pid file :/var/run/nginx.pid
- config file: /usr/local/nginx/conf/nginx.conf
- Document root: /home/kenkiti/nginx/helloworld # <= とりあえずテスト用てことで
こんな感じ↑で動かすつもりなので、設定ファイル等々の該当する箇所を変更する
- /usr/local/nginx/conf/nginx.conf
user www-data; #nobody; worker_processes 1; error_log logs/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { passenger_root /var/lib/gems/1.8/gems/passenger-3.0.0; passenger_ruby /usr/bin/ruby1.8; include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; sendfile on; keepalive_timeout 65; server { listen 80; server_name yourhost.net; # ここ修正 root /home/kenkiti/nginx/helloworld/public; # ここ修正 passenger_enabled on; # なかったら追加 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
- /etc/init.d/nginx
… #------------------------------------------------------------------------------ # Consts #------------------------------------------------------------------------------ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/nginx/sbin/nginx PS="nginx" PIDNAME="nginx" #lets you do $PS-slave PIDFILE=$PIDNAME.pid #pid file PIDSPATH=/var/run DESCRIPTION="Nginx Server..." RUNAS=root #user to run as SCRIPT_OK=0 #ala error codes SCRIPT_ERROR=1 #ala error codes TRUE=1 #boolean FALSE=0 #boolean lockfile=/var/lock/subsys/nginx NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" …
sudo chmod a+x /etc/init.d/nginx sudo update-rc.d -f /etc/init.d/nginx defaults