別のドメインを介して静的アセットを提供するようにWebサイトを最適化して、ダウンロード/アップロードの帯域幅を減らし、キャッシュを簡単にできるようにしています。
現在、NGINXとPassengerでRails3.1を使用しています。
これまでのところ、すべてのアセットが現在のドメインと同様のドメイン(サブドメインではなく、別のドメイン...このように実際のドメインからのCookieが提供されない)を介して提供されるようにシステムを設定しましたリクエスト内で転送されます)。NGINXサーバーの構成は次のとおりです。
server {
listen 80;
server_name similarwebsite.com;
root /path/to/static/files;
}
server {
listen 80;
server_name website.com;
root /path/to/rails/files/public;
}
Railsの環境よりもアセット用に別の環境を用意する方がはるかに優れていると思います(いくつかの単純なアセットを提供するためだけに行われているすべてのRack抽象化は本当に好きではありません)。
私の質問は今も残っています、静的ファイルをthttpdのような別のHTTPサーバーに分割する必要がありますか?今のところ、両方とも同じマシンで実行されていますが、すべてのアセットはthttpdを介して配信され、すべてのレールはnginxを介して配信されます。thttpdインスタンスは、別のIPまたはポートで実行できます。これでもっと速くなるかどうか疑問に思っています。
何か案は?行き過ぎですか?