ここに同様の質問を投稿しました
しかし、私はそれを機能させることができなかったので、そのサービスをあきらめることにしました。
WebサイトでPageSpeed Insightsを実行して、Webサイトの速度を確認しました。
私が受け取った最も重要な提案は、圧縮を有効にすることでした。
Compressing resources with gzip or deflate can reduce the number of bytes sent over the network.
Enable compression for the following resources to reduce their transfer size by 191.2KiB
(74% reduction).
このウェブサイトの指示に従いました
https://developers.google.com/speed/docs/insights/EnableCompression
圧縮を有効にする方法については、Webサーバーのドキュメントを参照してください。
このウェブサイトを使用して自分のウェブサーバーを見つけました
http://browserspy.dk/webserver.php
私のWebサーバーはWEBrickであることがわかりました。
PageSpeed Insightsページには、次の3つのサーバーのみが表示されます
Apache: Use mod_deflate
Nginx: Use ngx_http_gzip_module
IIS: Configure HTTP Compression
WEBrickサーバーのgzip圧縮に関するドキュメントを検索しましたが、何も見つかりませんでした。
Rails=で圧縮を有効にする方法を検索しましたが、何も見つかりませんでした。そのため、ここで質問します。
Rack Zippyを使ってみましたが、諦めました。
今のところ、どこから始めればいいのかもわかりません。私の最初のステップは、私が何をすべきかを見つけることです。
編集
Rack :: Deflatorを使用するというアーメドの提案に従いました
走って確認した
rake middleware
=> use Rack::Deflator
その後
git add .
git commit -m '-'
git Push heroku master
残念ながら、PageSpeedはまだ圧縮する必要があると言っています。 Developer Tools << Network Settingsに移動してページを更新することで確認しました。すべてのリソースのサイズと内容はほぼ同じで、ファイルは圧縮されていません。
私のファイルの1つに何か問題がありますか?
ご協力ありがとうございました。
これが私の完全なconfig/application.rbファイルです
require File.expand_path('../boot', __FILE__)
require 'Rails/all'
Bundler.require(*Rails.groups)
module AppName
class Application < Rails::Application
config.middleware.use Rack::Deflater
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
config.exceptions_app = self.routes
config.cache_store = :memory_store
end
end
問題があれば、そこにソースがあると思いますよね?
Deflator gemをインストールする必要がありますか?
圧縮を有効にする
Config/application.rbに追加してください:
module YourApp
class Application < Rails::Application
config.middleware.use Rack::Deflater
end
end
ソース: http://robots.thoughtbot.com/content-compression-with-rack-deflater
Rack::Deflater
をinsert_before
を使用する場合( "use"ではなく)、ミドルウェアスタックの最上部近くに配置して、応答を送信する可能性のある他のミドルウェアの前に配置する必要があります。 .use
はスタックの一番下に配置します。私のマシンで一番上のミドルウェアはRack::Sendfile
です。だから私は使うでしょう:
config.middleware.insert_before(Rack::Sendfile, Rack::Deflater)
コマンドラインからrake middleware
を実行すると、ロード順にミドルウェアのリストを取得できます。