我想在共享服務器上安裝應用程序。如果我理解正確,因爲我使用的是共享服務器,並且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