2012-12-13 3 views
0

공유 서버에 응용 프로그램을 설치하려고합니다. 내가 공유 서버를 사용하고 있기 때문에 제대로 이해한다면 Dreamhost는 레일즈 3.2.8을 가정하지 않습니다. FCGI를 사용해야합니다. 설치 방법과 설치 방법을 잘 모르겠습니다.공유 서버 Dreamhost

이 자습서 http://wiki.dreamhost.com/Rails_3. 으로

DreamHost는에서
  1. 은, PHP 5.xx의의 FastCGI를 활성화하고 확인 Phusion 여객은
  2. 레일은 '아무튼
  3. 때문에 내 localmachine에 응용 프로그램을 만들기 선택을 취소했다, 내가 무슨 짓을했는지 여기 이해 t 내가 내/공용 폴더 #!/홈/사용자 이름/.rvm/루비/루비 1.9.3-P

dispatch.fcgi에서 다음 두 파일을 만들 파견 및 액세스 파일을 생성 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" 
  1. 을 작성
  2. 제작해야합니다 dispatch.fcgi가 777을 가지고 DreamHost는에 공용 폴더 지적
  3. ssh을 작성하고 공용 폴더에서 다음 명령을 실행하십시오. /dispatch.fcgi
  4. 내 손가락을 교차하지만 나는 다음과 같은 오류를

    ./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

답변

0

나는 simlar 보트에있다. 첫 줄에 사용자 이름을 설정했는지 확인하십시오. 또한 rvm verson의 경우 dispatch.fcgi의 마지막 행이 누락되었습니다. 다른 디스패치 예제의 마지막 줄을 가져 와서 응용 프로그램 이름을 설정하십시오.

마지막으로 환경 및 데이터베이스 파일이 올바르게 설정되었고 mysql2, fcgi 및 theruraracer와 같은 필수 보석이 있어야합니다.

나는 아직 광산을 해결하지 않았지만 필요한 것이 무엇인지 파악한 후에 블로그 게시물을 작성합니다.