2015-09-26 8 views
5

私はnginxがWebサーバーで、passengerがアプリケーションサーバーであることを知っています。私たちはちょうど実行することができますなぜRoRのために乗客とnginxが必要ですか?

私たちのレールアプリケーションを起動すると、すべてがうまくいくようです。しかし、リバースプロキシとしてnginxを設定することに関する多くの記事があります。

これについての専門家が各コンポーネントを分解し、なぜnginxと乗客を一緒に必要とするのか、それぞれの役割について説明すると役に立ちます。

思考のための質問:
- スタンドアロンの旅客とは対照的に、nginxの周りに乗客をラップする主な目的は何ですか?
- スタンドアロンの乗客を走らせるのは悪いですか?
- 「乗客スタート」を実行すると、独自のnginxサーバーが起動しますか?

答えて

0

私はいつもApache/Nginxの後ろにPassengerでRailsアプリケーションを配備していますが、Webサーバーの専門家ではありません。

  1. 旅客がスタンドアロンサーバーである:

    は私がちょうどこのアプローチのいくつかの利点を(それを行うためのより多くのオプションとの理由があるかもしれません)をリストしてみましょう。つまり、1台のマシンで実行するように設計されています。 Apache/Nginxでできるように2台の旅客サーバーの作業をバランスさせることはできません。

  2. Passengerで特定のマシンで1つのアプリケーションしか実行できません。
  3. 静的資産管理は、Nginxを使用して、乗客を襲うことなく行うことができます。
  4. 攻撃者が非常に多くのリクエストを送信することで、サイトが応答しなくなることは非常に簡単です。 Nginx/Apacheには、特定のブロックをブロックする機能があります。IP
+2

ここに乗客を作成します。 1)これは真実ではありません。あなたは乗客のインスタンス間で物事をバランスよくロードバランスさせることができます。任意の標準HTTPロードバランサを使用します。 2)これもまた真実ではない。乗客はマルチテナントのために明示的に設計されている。実際には、マルチテナント性をサポートするRubyアプリケーションサーバのみです。 3)乗客はすでにNginxから、静的資産が乗客またはアプリにぶつかることなく直接提供されるようにNginxを設定します。 – Hongli

5

すべてのご質問は、公式旅客のドキュメントで回答されています。

+0

FYI:Hongliは、Passengerアプリケーションの開発者であるPhusionの共同設立者である - https://github.com/FooBarWidget –

関連する問題