Unicorn

参考:

unicorn – Rack HTTP server for fast clients and Unix [Official]

unicorn.git – Rack HTTP server for Unix and fast clients [Official]

ドキュメント

参考:

Documentation for unicorn | RubyDoc.info

概要

Unicorn のメリット

  • マスターからフォークしてワーカープロセスを作成する。
  • ライブラリのロードが一度で済むためデプロイが高速である。
  • コピーオンライトを使用して複数プロセスによる同内容のメモリ確保を回避する。
  • スレーブがリクエストをプルすることで自動的にロードバランシングが行われる。
  • ダウンタイムなしで更新デプロイを行える。

参考:

なぜ rails の本番環境では Unicorn, Nginx を使うのか? – Qiita

Unicorn と Nginx の概要と違い – Qiita

導入

参考:

次世代 Ruby on Rails サーバー Unicorn (汎用の Rack アプリケーションサーバ) を使ってみた | TechRacho

使い方

production 環境で Unicorn をデーモンとして起動する。

$ bundle exec unicorn_rails -c config/unicorn.rb -E production -D

プロセス ID を指定して kill コマンドで Unicorn を終了させる。

$ kill -9 12345

参考:

Rails 4.2 + Unicorn + Nginx でアプリケーションサーバの構築 – Qiita

Nginx + Unicorn で Rails アプリケーションを本番環境で立ち上げる方法 – Qiita

設定

参考:

設定のまとめ – Qiita

unicorn を Nginx 環境下で動かす時の設定方法 | Y-hilite

Unicorn の設定ファイルを読み解く Part 1 | りょうたくの WEB エンジニア日記

Unicorn の設定ファイルを読み解く Part 2 | りょうたくの WEB エンジニア日記

Rails + unicorn の設定・起動関連タスクまとめ | Simplie Post

ログを出力する

rails_root = File.expand_path("../..", __FILE__)
stderr_path File.expand_path("log/unicorn.log", rails_root)
stdout_path File.expand_path("log/unicorn.log", rails_root)

参考:

Method: Unicorn::Configurator#stdout_path | Documentation for unicorn (RubyDoc.info)

Method: Unicorn::Configurator#stderr_path | Documentation for unicorn (RubyDoc.info)

unicorn の logs がない | teratail

ログローテーション

参考:

unicorn にログローテーション設定してみた | TechRacho

Unicornのログローテーションを設定する | tackeyy.com

Capistrano でデプロイする

参考:

Capistrano3 で Unicorn + Nginx な環境に Rails をデプロイする – Qiita

capistrano で nginx, unicorn の設定ファイルを管理しつつ rails の deploy – Qiita

Capistrano3 で rails デプロイ (+unicorn) – Qiita

ActionCable を使う

参考:

How to configure ActionCable with Nginx and Unicorn in production? – Stack Overflow

ソケットファイル

参考:

Rails + unicorn + nginx で Web Server を起動させるときにはまった話。- Qiita

まとめ

参考:

Nginx と Unicorn とは とかのまとめ · PallCreaker/tinQ Wiki – GitHub

Tips

参考:

Rails サーバ Unicorn を飼いならす! 運用時の便利技 | TechRacho

unicorn-worker-killer

参考:

kzk/unicorn-worker-killer: Automatically restart Unicorn workers based on 1) max number of requests and 2) max memory – GitHub

Unicorn の Worker プロセスをリサイクルする – Qiita

unicorn-worker-killer が便利だった件 | zephiransas のチラシの裏

unicorn のワーカープロセスを自動で再起動する | YoshinoriN’s Memento

unicorn-worker-killer を導入 | blog 紫陽花

unicorn-worker-killer の設定例 – Qiita

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です