Общий сервер Dreamhost

Я пытаюсь установить приложение на общем сервере. Если я правильно понимаю, потому что я использую общий сервер, и что Dreamhost не предполагает рельсы 3.2.8, я должен использовать FCGI, хотя я не уверен, как установить и заставить его работать должным образом.

Из этого урока http://wiki.dreamhost.com/Rails_3.

Чтобы я понял здесь, что я сделал,

  1. В Dreamhost активируйте PHP 5.xx FastCGI и убедитесь, что Phusion Passenger не установлен
  2. Создать приложение на моей локальной машине
  3. Поскольку rails не создает файл отправки и доступа, я создаю два следующих файла в папке my /public

dispatch.fcgi #!/home/ имя пользователя /.rvm/rubies/ruby-1.9.3-p327/bin/ruby

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"
  1. Загрузил в папку и указал на общую папку в Dreamhost
  2. Убедился, что dispatch.fcgi имеет 777 для записи
  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/gems/ruby ​​1.9.3-p327')'

Поступать неправильно??? Ох, и если я иду на сервер, я получаю это Rails application failed to start properly

1 ответ

Я в симларской лодке. Убедитесь, что вы указали свое имя пользователя в первой строке. Также последняя строка dispatch.fcgi отсутствует для rvm версии. Получите последнюю строку из другого примера отправки и задайте имя вашего приложения.

Последнее, убедитесь, что файлы вашей среды и баз данных настроены правильно, и у вас есть необходимые гемы, такие как mysql2, fcgi и therubyracer.

Я еще не решил свою проблему, но я сделаю пост в блоге, как только выясню, что нужно.

Другие вопросы по тегам