notebook

from edd couchman, the creator of redheat and chopter

dispatch.fcgi or, How to get Ruby on Rails to work

I host all of my website with Dreamhost. I think they’re fantastic — a little slow, perhaps — but they’re full of features, and let you install all kinds of goodness on their servers.

Recently, however, I have been struggling to get Ruby on Rails working on their domains. I have been fighting an uphill battle and losing, until I worked out the Shebang! line in dispatch.fcgi…

#!/usr/bin/ruby1.8

This will magically get your RoR application working.

The full dispatch.fcgi file is below:

#!/usr/bin/ruby1.8
#
# You may specify the path to the FastCGI crash log (a log of unhandled
# exceptions which forced the FastCGI instance to exit, great for debugging)
# and the number of requests to process before running garbage collection.
#
# By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log
# and the GC period is nil (turned off). A reasonable number of requests
# could range from 10-100 depending on the memory footprint of your app.
#
# Example:
# # Default log path, normal GC behavior.
# RailsFCGIHandler.process!
#
# # Default log path, 50 requests between GC.
# RailsFCGIHandler.process! nil, 50
#
# # Custom log path, normal GC behavior.
# RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log'
#
require File.dirname(__FILE__) + "/../config/environment"
require 'fcgi_handler'

RailsFCGIHandler.process!


Categorized as today

2 Comments

  1. hi
    i also host with DreamHost and facing the same problem. I changed my dispatch.fcgi as u tell but still i m facing same problem. Can u help me please
    http://www.copychops.com/welcome/

  2. hi,

    so you’ve basically included a 1.8 in the shebang line after ruby. The defualt shebang line should always use correctly installed version of ruby anyway.

Leave a Reply