LoginSignup
1
1

More than 5 years have passed since last update.

unicornのリンクまとめとメモ

Last updated at Posted at 2016-09-16

※ 誤解をおそれずに大胆に書いてます。参考にする際はご注意を。

unicornとは?

  • web-rack serverのこと
  • master-slave構成になっていて、空いたslaveからのpullでアクセスを処理するので、 処理中プロセスにアクセスが行くことがなくなる

参考

http://fujiike.hateblo.jp/entry/2015/08/20/170751
http://techracho.bpsinc.jp/piichan1031/2010_07_09/2075

rackとは?

  • routes処理をrubyアプリがうごくようによしなにやってくれるやつ
  • rubyアプリはrackがないとうごかないってことかな

web rack サーバーとは?

  • rackの機能を持ち合わせたwebサーバー
  • unicornはこれにあたる
  • web rack サーバー + rubyアプリでも動くけど、webサーバーはnginxのほうがいいので、nginx + unicorn + railsみたいな構成になりがち

リリース時に再起動は必要?

  • 再起動というか、新しいプロセスを起動し直す必要はある
  • unicornの機能でダウンタイムなしでのrubyアプリの更新は可能

再起動時に古いプロセス残ったりするのなんで?

  • unicornにのプロセスにUSR2のコマンド送ると新しいコードで新しいマスタを作る
  • 古いマスタはそのまま残るのでプロセスが増えてしまう
    • 正しくは古いマスタを消さなければいけない
  • unicornの設定ファイルで古いプロセスを消すような設定いれるべき

参考

preload_appとは?

  • trueだと、新しいmasterがworkerを生む前に新しいコードがロードされて、rubyアプリの初期化が実行される
  • つまり、unicorn_configのbefore_forkが実行されるときには準備完了している

参考

unicornプロセスへのコマンドの対応表

  • USR2: 新しいmasterを生成
  • INT(TERM): 即座にプロセスkill
  • QUIT: graceful shutdown

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1