Rails のウェブサーバーを標準のWEBricに代えて、Unicornを使ってみます。この記事ではnginxは使いません。
Unicornのドキュメント:https://unicorn.bogomips.org/
Step1. Railsにunicorn gemを導入します
gemfileを開き、unicornを追加します。
gem 'unicorn'
gemをインストールします。
$ bundle install
Step2. 動作確認します
標準のウェブサーバーでブラウザからアクセスできている状態であれば、次のようにunicorn_railsコマンドで起動するだけでアクセスできるようになります。
$ unicorn_rails
Unicornはデフォルトで8080ポートで受けるため、ブラウザから http://ホスト:8080 としてアクセスし、アクセスできることを確認します。
補足:unicornコマンドもありますが、Rails以外のRackアプリケーション用のようです。
Step3. 設定ファイルを作ります
待ち受けポートを変えたり、ワーカー数を変えたりする場合は設定ファイルが必要です。
内容は下記の公式ドキュメントを参考にして設定します。
http://unicorn.bogomips.org/Unicorn/Configurator.html
http://unicorn.bogomips.org/examples/unicorn.conf.rb
http://unicorn.bogomips.org/examples/unicorn.conf.minimal.rb
Unicornの設定ファイルをconfig/unicorn.conf.rb (任意の場所・名前でよい)として新規作成し、内容は次のようにしました。
# config/unicorn.conf.rb # ワーカー数を指定します。 # コア数と同じにすると良いようです。 worker_processes 1 # Railsアプリケーションのディレクトリを指定します。 working_directory "." # 待ち受けるTCPポートを指定します。(デフォルトのまま) listen 8080 # UnicornのPIDの一時保管場所を指定します。 # 元々Railsには tmp/pids フォルダがあるのでそこに格納。 pid "tmp/pids/unicorn.pid" # 標準エラー出力のログファイルを指定します。 # 元々Railsには log フォルダがあるのでそこに格納。 stderr_path "log/unicorn.stderr.log" # 標準出力のログファイルを指定します。 stdout_path "log/unicorn.stdout.log"
Step4. 設定ファイル付きでUnicornを起動します
設定ファイル付きでUnicornを起動するには次のようにします。
$ unicorn_rails -c 設定ファイル
ここでは先ほど作成した設定ファイルを使ってみます。
$ unicorn_rails -c config/unicorn.conf.rb
ブラウザから http://ホスト:指定のポート でアクセスし、アクセスできることを確認します。設定ファイルで指定した場所に、PID、ログファイルがあることも確認します。