Общий сервер Dreamhost
Я пытаюсь установить приложение на общем сервере. Если я правильно понимаю, потому что я использую общий сервер, и что Dreamhost не предполагает рельсы 3.2.8, я должен использовать FCGI, хотя я не уверен, как установить и заставить его работать должным образом.
Из этого урока http://wiki.dreamhost.com/Rails_3.
Чтобы я понял здесь, что я сделал,
- В Dreamhost активируйте PHP 5.xx FastCGI и убедитесь, что Phusion Passenger не установлен
- Создать приложение на моей локальной машине
- Поскольку 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"
- Загрузил в папку и указал на общую папку в 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/gems/ruby 1.9.3-p327')'
Поступать неправильно??? Ох, и если я иду на сервер, я получаю это Rails application failed to start properly
1 ответ
Я в симларской лодке. Убедитесь, что вы указали свое имя пользователя в первой строке. Также последняя строка dispatch.fcgi отсутствует для rvm версии. Получите последнюю строку из другого примера отправки и задайте имя вашего приложения.
Последнее, убедитесь, что файлы вашей среды и баз данных настроены правильно, и у вас есть необходимые гемы, такие как mysql2, fcgi и therubyracer.
Я еще не решил свою проблему, но я сделаю пост в блоге, как только выясню, что нужно.