皆さん。初めまして。最近アクトインディに入社した namikata です。
- エンジニア職未経験
- 30歳を超えている
といったプロフィールを持っていますが、チャレンジするのに年齢は関係ありませんの精神で、これから頑張ってエンジニアライフを送っていきたいと思います。
子供とお出かけ情報「いこーよ」 は、Nginx + Unicorn + Rails で構成されています。勉強していて Nginx と Unicorn と Rails の関係性が自分の中でちょっと不明瞭だったので、調べた結果をまとめてみました。間違ってたらゴメンなさい。
各役割は以下になります。
名称 | 役割 |
---|---|
Unicorn | Rack Webサーバー |
Nginx | Webサーバー |
Rails | フレームワーク |
Rack は WSGI に影響されて開発された Ruby におけるサーバとアプリケーション/フレームワーク間のインターフェースの役割を果たすライブラリ 第23回 Rackとは何か(1)Rackの生まれた背景
Unicorn は Rack Webサーバー の分類で、Rack と Webサーバーの機能を合わせて持つ。Webrickも同様。ただ、Webサーバーとしてのレスポンス処理はApacheやNginxに劣る。Railsを公開するときは、Unicorn + Rails の環境で公開することは可能だが、モチはモチ屋の発想で Nginx + Unicorn + Rails の構成を取るのが一般的。Nginx単体では、Rackの機能をサポートしていない為、Nginx + Rails ではアプリケーションは動作しない。
以上です。これからも勉強した内容はまとめていきたいと思いますので、どうか宜しくお願いします。
参考
Rack Webサーバ(Rack Web Server)は、RubyアプリケーションとWebサーバをつなぐための中間サーバ、として扱われることが多い。通常のWebサーバはRackのような機能をサポートしていないが、Rack Webサーバを挟むことで、RubyアプリケーションなどをWebサーバ上で動作させることができる。Rack Webサーバ単体でも機能するにはするみたいだけど、Apacheなどの既存のWebサーバはレスポンスの処理がうまいので、それらと組み合わせて使うことが多いらしい。 ApacheとNginxとPassengerとUnicornの違い【すごい初心者向け】
Rack はWebサーバー(Nginx)とフレームワーク(Rails)の間を取り持つライブラリ 5分でわかるRack