2010-07-21 43 views
7

我想为朋友做一个应用程序,但他共享主机,唯一的选择是fcgi,我找不到有关如何操作的任何文档。 FCGI上有没有办法运行rails 3?Rails 3和FCGI?

+1

就算你能得到它的工作,它可能心不是一个好主意.... – 2010-07-21 04:04:43

+4

无论JSP/ASP m紫苑。 – BiscottiLighter 2010-07-21 04:44:53

回答

7

公共看跌/ 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) 

检查示例应用here

+0

谢谢,您的示例在替换YOURAPPNAME和config/application.rb中找到的名称之后很适合我。另外请注意,他在.htaccess中使用RAILS_RELATIVE_URL_ROOT实际上是他自己创建的,用于config/routes.rb – rogerdpack 2011-04-29 13:32:38