2010-07-21 18 views
7

Voglio fare un'app per un amico ma lui ha condiviso l'hosting e l'unica opzione è fcgi e non riesco a trovare alcuna documentazione su come farlo. Esiste comunque l'esecuzione di rails 3 su FCGI?Rails 3 e FCGI?

+1

anche se è possibile farlo funzionare probabilmente isnta buona idea .... –

+4

Qualunque JSP/ASP m aster. – BiscottiLighter

risposta

7

Mettere in pubblico/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) 

Controllare l'esempio app here

+0

Grazie, il tuo esempio ha funzionato bene per me, dopo aver sostituito YOURAPPNAME con quello trovato in config/application.rb. Nota inoltre che il suo uso di RAILS_RELATIVE_URL_ROOT in .htaccess è in realtà la sua creazione, utilizzata in config/routes.rb – rogerdpack