Ruby on rails 共享服务器Dreamhost
我正在尝试在共享服务器上安装应用程序。如果我理解正确,因为我使用的是共享服务器,而Dreamhost不认为rails 3.2.8,那么我必须使用FCGI,尽管我不知道如何安装和确保它正常运行 来自本教程 我在这里的理解是我所做的Ruby on rails 共享服务器Dreamhost,ruby-on-rails,ruby,ruby-on-rails-3,dreamhost,Ruby On Rails,Ruby,Ruby On Rails 3,Dreamhost,我正在尝试在共享服务器上安装应用程序。如果我理解正确,因为我使用的是共享服务器,而Dreamhost不认为rails 3.2.8,那么我必须使用FCGI,尽管我不知道如何安装和确保它正常运行 来自本教程 我在这里的理解是我所做的 在dreamhost中,激活PHP5.x.xFastCGI并确保未选中Phusion Passenger 在我的本地计算机上创建应用程序 因为rails不创建分派和访问文件,所以我在我的/public文件夹中创建了以下两个文件 调度.fcgi #!/home/usern
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"
AddHandler fastcgi script.fcgi
AddHandler fcgid script.fcgi
选项+FollowSymLinks+ExecCGI
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$dispatch.fcgi/$1[QSA,L]
ErrorDocument 500“Rails应用程序无法正确启动”
/dispatch.fcgi
('
./dispatch.fcgi:第3行:
ENV['GEM_HOME']=File.expand_path('~/.rvm/gems/ruby 1.9.3-p327')”做错了吗???哦,如果我在服务器上运行,我会发现这个
Rails应用程序无法正确启动
我在一条船上。请确保在第一行设置您的用户名。另外,rvm verson缺少dispatch.fcgi的最后一行。从另一个dispatch示例中获取最后一行,并设置您的应用程序名称
最后,请确保您的环境和数据库文件设置正确,并且您拥有所需的gems,如mysql2、fcgi和therubyracer
我还没有解决我的问题,但一旦我弄清楚需要什么,我会写一篇博客