我想在共享服务器上安装应用程序。如果我理解正确,因为我使用的是共享服务器,并且Dreamhost不假设导轨3.2.8我必须使用FCGI,但我不确定如何安装并使其正常运行。共享服务器Dreamhost
来自本教程http://wiki.dreamhost.com/Rails_3。
要我理解这里我做什么,
- 在Dreamhost的,激活PHP 5.xx的FastCGI的,并确保乘客的Phusion未选中
- 我LOCALMACHINE创建应用
- 因为轨道没有按”牛逼创建调度和访问文件我在/公用文件夹
dispatch.fcgi #!/首页/用户名/ .rvm /红宝石/红宝石1.9.3-p创建两个以下文件327 /斌/红宝石
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 [email protected]')
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"
- 和Dreamhost的指向公用文件夹
- 确信dispatch.fcgi有777用于写入
- ssh并在公用文件夹中运行以下命令:。
/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 /宝石/红宝石1.9.3-P327')”
做错了吗?哦,如果我去服务器上,我得到这Rails application failed to start properly