Rails 3.1には、ファイルを.gzファイルに圧縮できる便利なシステムがあります。ただし、代わりに、assets:precompileで作成されたすべてのアセットファイルを静的Webサーバーに移動しました。これはすべて機能しますが、nginxで.gzファイルを正常に提供するにはどうすればよいですか?
1)Nginx> 1.2.x(適切なヘッダー変更)があることを確認し、-with-http_gzip_static_moduleオプションでコンパイルします
2)このオプションを有効にしますgzip on(gzipヘッダーでバックエンド応答を提供するため)
3)gzip_static onでアセットの場所を設定します(all.css.gz、all.js.gzファイルを直接)
4)etagの生成を防ぎ、資産の計算を最終的に変更します
5)ブラウザを閉じると有効期限が切れない限り、SSLで提供される静的アセットをキャッシュするために右側のキャッシュコントロールをオンにします
location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ {
gzip_static on;
expires max;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
}
完全なNginx構成を取得したい場合は、 Githubのこの要点 を参照してください。
open_file_cacheは、ファイル記述子、そのサイズ、変更時間、およびディレクトリルックアップをキャッシュするのに役立ちます。これは、ファイルシステムの高負荷に役立ちます。
UPDATE:Edgeに住んでいる場合は、SPDYをオンにしてSSL接続を強化します。