さくらvpsのUbuntu12.04にnginxとunicornをインストールしてローカル環境に作ったRailsアプリを手動でアップロードして表示させてみた。何となくユニコーンって名前が好きなので、unicornを使うことにした。
nginxインストール
nginxは本当は手動でインストールするのがいいんだろうけど、面倒なので
$ sudo aptitude install nginx
でインストール
unicornインストール
rubyとかbundlerとかが必要なので、無い場合はRuby on Railsを入れてみたに書いた通りにインストール。unicornはGemfileに
gem "unicorn"
と追記して
$ bundle install -path vendor/bundle
でインストール出来る。要らないかもしれないけどお約束のようにインストール後はrbenv rehashしておく。
nginxの設定
設定ファイルは最低限これくらい書いておけばよさげ
upstream unicorn-unix-domain-socket {
server unix:/var/run/unicorn/unicorn_[app_name].sock fail_timeout=0;
}
upstream unicorn-tcp {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name http://hoge;
root /path/to/app_root/public;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
proxy_pass http://unicorn-tcp;
}
}
/var/run/unicornディレクトリは前もって作っておく。/tmpとかでも良さげなんだけど、どうなんだろう?
railsアプリのアップロード
適当にアップロード。rsyncで適当にやった。
unicorn起動
$ bundle exec unicorn_rails -D
-Dはデーモンとして起動。configファイルを指定する場合は、-c path/to/config.rbを指定する。
nginx起動
$ service nginx start
以上でrailsアプリが見れるようになる。