5
3

More than 1 year has passed since last update.

【Rails】Rackとは?Unicornとは?Pumaとは?

Posted at

いまいち理解できていない言葉やツール、システムについて調べています。
今回はRack、Unicorn、Pumaなどについて調べたので、メモとして残しておきます。

Rackとは?

  • Rackとはアプリケーションサーバーである。
  • Rubyのフレームワークを繋ぐためのアプリケーションサーバーである。
  • Rubyのフレームワークとはすなわち、Ruby on RailsやSinatraの事である。

また、Rackについてこちらの説明がしっくりきて分かりやすかったです。

Rackというアプリケーションサーバーという土台があり、
その上にRuby on RailsやSinatraが乗っていると思ってください。
概念的にはRack = Ruby on Railsと思っていただいて構いません。

引用: https://autovice.jp/articles/146

Unicornとは?

UnicornとはRackアプリケーション用のWebサーバーです。

引用: https://autovice.jp/articles/146

Pumaとは?

  • Pumaも、Webサーバーである。
  • 「ピューマ」と読む
  • RailsでWebアプリケーションを作成する際に利用する。
  • Gemfileに記述してインストールする

RubyのフレームワークはRailsだけじゃない

  • Rubyを使った開発に使用するフレームワークは、Ruby on Railsだけではない。
  • RubyのフレームワークとしてSinatraというものもある。

なぜ Webサーバーが複数必要なの?

UnicornなどのRack専用のWebサーバーの弱点を補うのがNginxです。
Nginxは低速クライアントをバッファリングします。
NginxとUnicornの間の接続は非常に高速なため、
Unicornが低速なクライアントのリクエストを受信することがなくなります。

引用:https://autovice.jp/articles/146

Webサーバーとアプリケーションサーバーの違い

Webサーバーとアプリケーションサーバーの違いとは? 
Webサーバーが単にWebサイトに含まれるHTMLページ、画像ファイル、動画ファイルなどの静的コンテンツをデリバリするのに対し、
アプリケーションサーバーは動的コンテンツを生成してユーザーのWebブラウザにデリバリします。

引用: https://www.nginx.co.jp/learn/app-server/

最後に

全体像を把握する事で、開発に対する理解が深まると思います。
まだまだ未熟ですが、これからもキャッチアップしていきます。

pumaのことを「プーマ」と呼んでいましたwww

参考記事

5
3
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
5
3