2010-07-21 17 views
7

Quiero hacer una aplicación para un amigo, pero él tiene alojamiento compartido y la única opción es fcgi y no puedo encontrar ninguna documentación sobre cómo hacerlo. ¿Hay alguna forma de ejecutar rails 3 en FCGI?Rails 3 y FCGI?

+1

incluso si usted puede conseguir que funcione probablemente tampoco un buena idea .... –

+4

Sea cual sea JSP/ASP m aster. – BiscottiLighter

Respuesta

7

Poner en público/whatever.fcgi

#!/usr/bin/ruby 

require_relative '../config/environment' 

class Rack::PathInfoRewriter 
    def initialize(app) 
    @app = app 
    end 

    def call(env) 
    env.delete('SCRIPT_NAME') 
    parts = env['REQUEST_URI'].split('?') 
    env['PATH_INFO'] = parts[0] 
    env['QUERY_STRING'] = parts[1].to_s 
    @app.call(env) 
    end 
end 

Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(YOURAPPNAME::Application) 

Compruebe el ejemplo aplicación here

+0

Gracias, su ejemplo funcionó bien para mí, después de reemplazar YOURAPPNAME con el que se encuentra en config/application.rb. También tenga en cuenta que su uso de RAILS_RELATIVE_URL_ROOT en .htaccess es en realidad su propia creación, utilizada en config/routes.rb – rogerdpack