我正在尝试在共享服务器上安装应用。如果我理解正确,因为我正在使用共享服务器,并且Dreamhost没有假设rails 3.2.8我必须使用FCGI,虽然我不确定如何安装并使其正常运行。
从本教程http://wiki.dreamhost.com/Rails_3。
我在这里理解我做了什么,
dispatch.fcgi #!/首页/用户名/ .rvm /红宝石/红宝石1.9.3-P327 /斌/红宝石
ENV['RAILS_ENV'] ||= 'production'
ENV['HOME'] ||= `echo ~`.strip
ENV['GEM_HOME'] = File.expand_path('~/.rvm/gems/ruby 1.9.3-p327')
ENV['GEM_PATH'] = File.expand_path('~/.rvm/gems/ruby 1.9.3-p327') + ":" +
File.expand_path('~/.rvm/gems/ruby 1.9.3-p327@global')
require 'fcgi'
require File.join(File.dirname(__FILE__), '../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
然后创建了该文件 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 ^(.*)$ dispatch.fcgi/$1 [QSA,L]
ErrorDocument 500 "Rails application failed to start properly"
/dispatch.fcgi
穿过我的手指但不起作用我收到以下错误
./ dispatch.fcgi:第1行:ENV [RAILS_ENV]:找不到命令
./dispatch.fcgi:第1行:=:找不到命令
./dispatch.fcgi:第2行:ENV [HOME]:找不到命令
./dispatch.fcgi:第2行:=:找不到命令
./dispatch.fcgi:第3行:意外令牌附近的语法错误('
./dispatch.fcgi: line 3:
ENV ['GEM_HOME'] = File.expand_path('〜/ .rvm / gems / ruby 1.9.3-p327')'
做错了???哦,如果我去服务器,我得到这个Rails application failed to start properly
答案 0 :(得分:0)
我在一艘小船上。确保在第一行设置用户名。此外,rvm verson缺少dispatch.fcgi的最后一行。从另一个调度示例中获取最后一行并设置您的应用程序名称。
最后确保您的环境和数据库文件设置正确,并且您拥有所需的宝石,例如mysql2,fcgi和therubyracer。
我还没有解决我的问题,但是一旦弄清楚需要什么,我就会发一篇博客文章。