【问题标题】:Rails 3 and FCGI?Rails 3和FCGI?
【发布时间】:2011-03-18 19:04:18
【问题描述】:

我想为一个朋友制作一个应用程序,但他有共享主机,唯一的选择是 fcgi,我找不到任何关于如何做的文档。反正有在 FCGI 上运行 rails 3 吗?

【问题讨论】:

  • 即使你可以让它工作,它也可能不是一个好主意......
  • 无论 JSP/ASP 大师。

标签: ruby-on-rails ruby fastcgi


【解决方案1】:

公开/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

【讨论】:

  • 谢谢,在将 YOURAPPNAME 替换为 config/application.rb 中的示例后,您的示例对我来说效果很好。还要注意他在.htaccess中使用RAILS_RELATIVE_URL_ROOT其实是他自己创造的,用在config/routes.rb中
【解决方案2】:

Rails 3 构建在 Rack 之上,Rack 提供了一个 FastCGI 处理程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2012-06-11
    • 2011-01-27
    • 2012-12-06
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多