6
4

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 3 years have passed since last update.

config.ruお前は何をしているんだ?

Last updated at Posted at 2020-11-10

はじめに

Sinatraで作成したアプリをHerokuにデプロイする際に、config.ruがないとダメというエラーが発生。
そこでconfig.ruを作成し、色々記述したところ問題なく動作した。
そもそもconfig.ruって何をしてるのか疑問に思い備忘録として残すことにした。

config.ruのruって何

rackupの略らしい。

rackupとは

Rackというライブラリ(gem)が提供するコマンド。

Rackとは

WebサーバーとRubyやRuby製フレームワーク(RailsやSinatraなど)のインターフェース。
これがないとWebサーバーからのリクエストがアプリに届かない。
WebサーバーとRailsなどのフレームワークはお互い異なる言語で会話しているので、Webサーバーからお願いされてもフレームワーク側は何を言われているのか分からない状態。
Rackが間に挟まることによって、双方の言語を翻訳してリクエストとレスポンスのやりとりをできるようにしてくれるイメージ。

config.ru

runにアプリのオブジェクトを渡すことによってRackが機能する。

まとめ

RackはWebサーバーとアプリケーションサーバーの橋渡し。
デプロイしたときにエラーが出たのは、Webサーバーのリクエストにアプリケーションサーバーが答えられなかったため。

6
4
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
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?