Heroku では、cedar 以降、「フロントエンド Web サーバー」などはもうありません。
cedar の前は、外部からのリクエストが nginx によって処理され (したがってフロント サーバー)、ページの生成をローカルの Rails サーバー (シン、ユニコーン、ウェブリックなど) に依頼していました。
要求された URL が実際に既存のファイルに対応していることをフロント サーバーが検出した場合、Rails サーバー プロセスに何も要求せずに直接提供していました。これは、ほとんどの場合、専用サーバーでリクエストを管理する方法です。
heroku が現在行っていることは、Rails サーバーを外の世界に直接公開することであり、中間に apache や nginx のような従来の Web サーバーはありません。
heroku を使用するということは、アセットとキャッシュ ファイルをサード パーティの cdn サーバーにアップロードして、貴重な Rails 処理時間をそれらのサービスに費やさないようにする必要があるということです。
または、代わりにアクション キャッシングを使用して、.html ではなく memcache に html を書き込むことができますpublic/
。それは実際にはheroku's recommandationです。
あなたのローカル環境についての注意: あなたはおそらく Rails サーバープロセスも直接使用しています。を実行すると、これが実行rails server
されます。ポート 3000 に直接バインドされた webrick またはシン サーバーが起動します。したがって、そこにも「フロント サーバー」はありません。
また、アクションとページのキャッシングは rails-4 では標準ではなくなりましたが、 gem によって提供されていることに注意してください。キャッシングの標準的な新しい手段であるrussian doll cachingは、memcache を使用するため、heroku では問題ありません。