この人たちはどのように働いていて、どの部分を担当しているのか聞きたいです
巴扎黑2017-05-16 17:32:23
Ngnix はプロキシ サーバーであり、エラー ページが (402、403、404) であるリスニング ポート (80)、エンコード方法 (gzip) を設定し、ワーカーにリクエストを割り当てる役割を果たします。
パッセンジャー/ユニコーンは、プロキシ サーバー上にあるアプリケーション サーバーです。各プロキシには通常、ワーカーとして複数のアプリケーション サーバーがあり、Web アプリケーション (Rails など) へのリクエストを高速で受け入れる役割を果たします。一般に、アプリケーション サーバーは 1 秒あたり数千のリクエストを処理できます。
Rails アプリケーションはパッセンジャー/ユニコーン内で実行されます。
nginxからパッセンジャー、レールまで、リクエストサイクルが完了します
bundle は Ruby のパッケージマネージャーです。 Python の easy_install、pypi と同じです。各アプリケーションは必要なライブラリのバージョンを示すことができる Gemfile を持つことができ、他のアプリケーションはバンドル インストールするだけでこのアプリケーションに必要なライブラリをインストールできます
大家讲道理2017-05-16 17:32:23
Luexiao.com Zhang Zhi の回答より引用: http://luexiao.com/questions/33136760...
Bundler は主に、各 Rail アプリケーション間の環境を互いに独立させながら、Rails アプリケーション間の関係を処理するために使用されます。
Bundler が登場する前は、gemset は主に gem パッケージを管理するために使用されていました。 Bundler が登場した後は、その使いやすさと利便性のため、多くの Rails 開発者によって使用されるようになりました。現在では、Bundler を使用して gem パッケージを管理し、rvm を使用して管理する方法が一般的です。 Rubyのバージョンを管理します。
passenger は主に Rails のプロセスを管理するために使用されますが、私は通常 Unicorn を使用するため、passenger とはあまり関わりません。
プロセスとコラボレーションについて:
Githubより引用
nginx は、UNIX ドメイン ソケット (または、必要に応じて TCP) 経由で Unicorn ワーカー プールにリクエストを直接送信します。Unicorn マスターは、OS がバランシングを処理する間、ワーカーを管理します。これについては、後で説明します。あらゆるリクエストを確認します。
2 つのパフォーマンス分析については、「モングレル vs. パッセンジャー vs. ユニコーン」を参照してください