Ruby on rails 4 在Dreamhost共享服务器上设置Ruby on Rails 4

Ruby on rails 4 在Dreamhost共享服务器上设置Ruby on Rails 4,ruby-on-rails-4,dreamhost,Ruby On Rails 4,Dreamhost,因此,我是Ruby/Rails新手,并开始在自己的计算机上使用最新版本编写一个小应用程序。我目前已经通过Dreamhost共享了主机,现在我想尝试在一个子域上部署我所拥有的,我使用一个新用户设置了这个子域。不幸的是,我没有意识到Ruby和Rails的默认版本已经过时了,所以我开始寻找更新它的方法。我在谷歌上搜索了一下,偶然发现了一些说明,它们似乎应该给出答案: 一开始,ruby和rails都安装得很好,并开始指向最新的版本,这似乎是可行的。不幸的是,当我尝试执行最后的步骤并设置测试应用程序时,

因此,我是Ruby/Rails新手,并开始在自己的计算机上使用最新版本编写一个小应用程序。我目前已经通过Dreamhost共享了主机,现在我想尝试在一个子域上部署我所拥有的,我使用一个新用户设置了这个子域。不幸的是,我没有意识到Ruby和Rails的默认版本已经过时了,所以我开始寻找更新它的方法。我在谷歌上搜索了一下,偶然发现了一些说明,它们似乎应该给出答案:

一开始,ruby和rails都安装得很好,并开始指向最新的版本,这似乎是可行的。不幸的是,当我尝试执行最后的步骤并设置测试应用程序时,每次都会返回500个错误

Rails application failed to start properly
我在目录中查找日志文件,在我的home/user/logs/subdomain.domain.com/http/error.log文件中发现了以下内容:

[Thu Oct 23 15:11:41 2014][error][client 24.93.22.1]由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用“日志级别调试”获取回溯

通过对FCGI和Rails的测试,在调试时建议从控制台运行my dispatch.FCGI,并查看它会抛出什么错误。当我这样做的时候,似乎什么都没有发生,就像它被困在一个无限循环中,直到我第二次按enter键,然后返回到命令提示符。这是我的dispatch.fcgi文件,我真的不明白这里发生了什么,因为我只是从我发布的第一个链接复制并粘贴了它,我以前从未做过类似的事情

#!/home/user/ruby/bin/ruby
ENV['RAILS_ENV'] = 'development'
ENV['HOME'] ||= `echo ~`.strip
ENV['GEM_HOME'] = File.expand_path('~/.gems')
ENV['GEM_PATH'] = File.expand_path('~/.gems')
require 'fcgi'
require File.join(File.dirname(__FILE__), '../config/environment.rb')
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
这是我创建的.htaccess文件,并将其放入我的主/用户文件夹,同样,这是一个我不太了解的直接复制/粘贴作业

<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
</IfModule>
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
</IfModule>
Options +FollowSymLinks +ExecCGI
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/dispatch.fcgi/$1 [QSA,L]
ErrorDocument 500 "Rails application failed to start properly"

AddHandler fastcgi script.fcgi
AddHandler fcgid script.fcgi
选项+FollowSymLinks+ExecCGI
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$public/dispatch.fcgi/$1[QSA,L]
ErrorDocument 500“Rails应用程序无法正确启动”

因此,我意识到Dreamhost共享服务器可能不是运行Rails的最佳环境,但这正是我目前拥有的,如果我能让它工作,我会很高兴。在这一点上,即使没有办法解决,我也只想了解到底发生了什么,因为今天大部分时间我都在互联网上奔波,试图弄清楚自己到底在做什么。

我也犯了同样的错误

用我的gem文件中的
gem“fcgi”
解决了这个问题