Rails на Bluehost: сброс соединения из-за ошибки mod_fcgid однорангового узла

Я загружаю сайт rails на bluehost, сайт, который работает на моей локальной машине. Однако у меня возникли проблемы с настройкой его для работы на bluehost. Вот ошибка, которую я получаю:

 [warn] [client 74.220.197.129] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server 
 [error] [client 74.220.197.129] Premature end of script headers: dispatch.fcgi ./../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement 
./../config/../vendor/rails/railties/lib/initializer.rb:271:in `require_frameworks':
RubyGem version error: rack(1.1.0 not ~> 1.0.1) (RuntimeError) from ./../config/../vendor/rails/railties/lib/initializer.rb:134:in `process' from ./../config/../vendor/rails/railties/lib/initializer.rb:113:in `send' from ./../config/../vendor/rails/railties/lib/initializer.rb:113:in `run' from ./../config/environment.rb:11 from dispatch.fcgi:21:in `require' from dispatch.fcgi:21

Я уже установил стойку 1.0.1, и правильное переименование .htaccess дает мне индексный список файлов. Это похоже на ошибку .htaccess. Вот мой файл .htaccess:

AddHandler fcgid-script .fcgi
AddHandler cgi-script .cgi
# For security reasons, Option followsymlinks cannot be overridden.
# Options +FollowSymLinks +ExecCGI
Options +SymLinksIfOwnerMatch +ExecCGI

RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

ErrorDocument 500 /500.html

#ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"

Что я делаю не так?


person jakefuentes    schedule 12.11.2010    source источник
comment
Какую версию Rails вы используете?   -  person rwilliams    schedule 12.11.2010
comment
Можете ли вы опубликовать вывод своего списка драгоценных камней?   -  person rwilliams    schedule 12.11.2010


Ответы (2)


Хорошо, я исправил эту проблему, выполнив следующие действия:

Добавляем это в файл ~/.bashrc...

export GEM_HOME=$HOME/ruby/gems
export GEM_PATH=$GEM_HOME:/usr/lib64/ruby/gems/1.8
export GEM_CACHE=$GEM_HOME/cache
export PATH=$PATH:$HOME/ruby/gems/bin

...Выполнение этой команды...

gem install rails --version=2.3.5

...и добавить эту строку в начало файла environment.rb...

ENV['GEM_PATH'] = '/home8/opportx0/ruby/gems:/usr/lib64/ruby/gems/1.8'

наконец работает.

person jakefuentes    schedule 14.11.2010

Ваше приложение ищет Rack 1.1.0 или выше и находит 1.0.1

person rwilliams    schedule 12.11.2010
comment
Я установил стойку 1.0.1, но проблема осталась. Это похоже на ошибку сервера, а не на ошибку драгоценного камня... это работает на моей локальной машине. - person jakefuentes; 12.11.2010
comment
Я думаю, я читаю это неправильно. Ошибка говорит о том, что Rack 1.1.0 не выше 1.0.1, что вообще не имеет смысла. - person rwilliams; 12.11.2010