Skip to content

Commit

Permalink
Instructions for nginx and apache added
Browse files Browse the repository at this point in the history
  • Loading branch information
kirs committed Aug 31, 2011
1 parent d3d2cea commit 3fb0579
Showing 1 changed file with 28 additions and 2 deletions.
30 changes: 28 additions & 2 deletions railties/guides/source/asset_pipeline.textile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -340,9 +340,35 @@ TODO: nginx instructions


When files are precompiled, Sprockets also creates a "Gzip":http://en.wikipedia.org/wiki/Gzip (.gz) version of your assets. This avoids the server having to do this for any requests; it can simply read the compressed files from disc. You must configure your server to use gzip compression and serve the compressed assets that will be stored in the public/assets folder. The following configuration options can be used: When files are precompiled, Sprockets also creates a "Gzip":http://en.wikipedia.org/wiki/Gzip (.gz) version of your assets. This avoids the server having to do this for any requests; it can simply read the compressed files from disc. You must configure your server to use gzip compression and serve the compressed assets that will be stored in the public/assets folder. The following configuration options can be used:


TODO: Apache instructions For Apache:


TODO: nginx instructions <plain>
<LocationMatch "^/assets/.*$">
# 2 lines to serve pre-gzipped version
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz [L]

# without it, Content-Type will be "application/x-gzip"
<FilesMatch .*\.css.gz>
ForceType text/css
</FilesMatch>

<FilesMatch .*\.js.gz>
ForceType text/javascript
</FilesMatch>
</LocationMatch>
</plain>

For nginx:

<plain>
location ~ ^/(assets)/ {
root /path/to/public;
gzip_static on; # to serve pre-gzipped version
expires max;
add_header Cache-Control public;
}
</plain>


By default Rails assumes that you have your files precompiled in the production environment, if you want use live compiling (compile your assets during runtime) in production you must set the +config.assets.compile+ to true. You can use this option to fallback to Sprockets when you are using precompiled assets but there are any missing precompiled files. If +config.assets.compile+ option is set to false and there are missing precompiled files you will get an "AssetNoPrecompiledError" indicating the name of the missing file. By default Rails assumes that you have your files precompiled in the production environment, if you want use live compiling (compile your assets during runtime) in production you must set the +config.assets.compile+ to true. You can use this option to fallback to Sprockets when you are using precompiled assets but there are any missing precompiled files. If +config.assets.compile+ option is set to false and there are missing precompiled files you will get an "AssetNoPrecompiledError" indicating the name of the missing file.


Expand Down

0 comments on commit 3fb0579

Please sign in to comment.