2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

なぜユニコーンは必要なのか

Last updated at Posted at 2018-11-30

この記事はOIC ITCreate Club Advent Calendar 2018の1日目の記事です。

こないだ
僕「なんでunicornは必要なん?nginxとrailsだけじゃあかんの?(幼女風」
と疑問をもち質問をしたところ
「一言では説明できない」
「なくてもいい」
「ラプラスの箱を探すため」
と幼女な僕にはわからなかったため、幼女でもわかるように自分で調べて解説してみようと思います。

まずunicornとは

Unicorn is a Rack HTTP server to serve Ruby web applications on UNIX environment. from wiki

Unicornは、UNIX環境でRuby Webアプリケーションを提供するRack HTTPサーバです。

Rack HTTPサーバとは

Rack is the magic that lets any of these app servers run your Rails app. (Or Sinatra app, or Padrino app, or…) from Justin Weissさんの記事 A Web Server vs. an App Server

Rackは魔法です。Rackを使えばどのアプリケーションサーバーであってもあなたのRailsアプリケーションを動かすことができます。(Railsに限らず、SinatraやPadrinoであっても同じです)

考察

webサーバを置いてリクエストを捌くのが主流になっている。
rubyには多数のwebアプリフレームワークがあり、それら一つ一つをwebサーバに対応するとなるとwebサーバ側もwebアプリフレームワーク側も大変。
だったら中間者を置こう。 => Rack誕生
みんなRackと話せたらいいよね?
unicorn「Rackをよりよくしてやったぞ」 => unicorn誕生
多分こんな感じ、みんなハッピー

結論

unicorn is magic.
hide is youjo.
q.e.d

知見

Rackから静的コンテンツ返せるのか...どう使うんや?

参考リンク様

Unicorn_(web_server) wiki
Rackとは何か
第23回 Rackとは何か(1)Rackの生まれた背景
Rack 実践 (Rack-based Application)
webサーバー、アプリケーションサーバー、Rackといった仕様や概念と、WEBrick、Unicorn、Pumaといった実装の関係が頭の中で結びつきません
ApacheとNginxとPassengerとUnicornの違い【すごい初心者向け】
5分でわかるRack
Unicorn!
defunkt/unicorn

2
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?