Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I gzip webpage output with Rails?

What is the best plugin for Rails that gzips my webpage output?

Edit: The company I am hosting with has stated they will not install mod_deflate.

like image 203
wusher Avatar asked Oct 30 '08 15:10

wusher


4 Answers

Have you tested to see if it's already enabled? If your hosting provider uses Apache it very well could be there by default.

Run this command against your site and see if you get the Content-Encoding: gzip header.

$ curl --head -H "Accept-Encoding: gzip" http://example.com
like image 169
JoeCortopassi Avatar answered Oct 03 '22 20:10

JoeCortopassi


Unless you are running your Rails application without another webserver (which usually isn't a great idea), you should probably look at your webserver. All major webservers have options to enable gzip. For example, for Apache, you can use mod_deflate.

like image 42
Jeroen Heijmans Avatar answered Oct 03 '22 19:10

Jeroen Heijmans


Have you tried using the deflate middleware? Add use Rack::Deflater to your config.ru.

It's how you'd do it with an app running on Heroku (AFAIK since cedar-stack).

like image 41
Sam Figueroa Avatar answered Oct 03 '22 20:10

Sam Figueroa


If your hosting company does not support mod_deflate it's time for a new hosting company. I think doing this in Ruby would be pretty slow and a pain in the butt.

like image 38
Luke Francl Avatar answered Oct 03 '22 20:10

Luke Francl