0

以前は Ruby on Rails に Webrick サーバーを使用していましたが、上司から apache サーバーで ROR コードを実行するように依頼されました。これら 2 つのサーバーにはいくつかの違いがあることがわかり、コントローラーにアクセスする方法がわかりません/ apache で ROR に関する本を知っている人はいますか? どうも!

4

1 に答える 1

3

Apache で直接実行するには、Apache モジュールとして機能するPhusion Passengerを使用するのが最善の策です。


ただし、概念的な情報も少し不足していると思います。レールをホストするために使用される一般的なラック サーバーの一部を次に示します。

WEBrick : 純粋に Ruby で実装された Web サーバー (Ruby に同梱されています)。パフォーマンスはあまり高くなく、比較的制限されています。これは優れた開発 Web サーバーになりますが、ほとんどの人は本番環境では使用しません。

Thin : 非常にパフォーマンスの高いイベント Web サーバーで、特に簡単に起動して実行できます。

Unicorn : 広く使用され、推奨されている (GitHub によって作成された) 分岐 Web サーバーですが、運用環境で起動して実行するには、もう少し管理が必要です。

ただし、ほぼすべてのケースで、選択した Rails Web サーバーの前に (プロキシとして) Nginx または Apache を使用するのが一般的です。

  • Nginx/Apache は、上記のどのオプションよりも、静的ファイルの提供においてはるかに優れた仕事をします。CDN を使用してアセットをホストしていない場合は、それらをホストするようにプロキシを設定する必要があります。

  • Nginx/Apache は、大量のリクエストを管理してキューに入れるのに優れているため、アプリケーション サーバーはキューに入れられた大量のリクエストではなく、処理中のリクエストに集中できます。

  • セキュリティの脆弱性のための表面積が少なくなります。

私の選択した構成はNginx + Unicornです。私は、Apache は管理するにはあまりにも扱いにくく、Unicorn は特に優れています。

于 2013-02-07T22:01:13.110 に答える