Помощь новичкам с Rails/Ruby. Совсем проиграл! (я думаю, связанный с дворнягой) 503 Errors

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

У меня нет опыта работы с Rails/Ruby, но я хорошо разбираюсь в компьютерах.

У меня есть два домена на одном сервере (Hostingrails, в последнее время я начинаю их ненавидеть все больше и больше).

Мой дополнительный домен работает на 100% нормально.

Но последние несколько дней мой основной домен не работал, выдавал ошибку 503. Я открыл тикет по этому поводу, и мне сказали подключиться по SSH к моему серверу и сбросить «Дворняжку». Я сделал это, используя код, который они мне дали; "mongrel_rails start -d -e production -p13930"

Вроде заработало, но проблема осталась. В журнале написано, что ошибка связана с:

"require': no such file to load -- dispatcher (LoadError)"

Я повторно открыл тикет по этому поводу, и Hostingrails в основном сказал мне, что это больше не их проблема и что я должен ее исправить. Блестящий.

Так что я провел большую часть дня в поисках и изменении вещей через SSH (вероятно, это была не самая лучшая идея), но я все еще продолжаю получать 503 на своем веб-сайте.

Однако недавно я узнал, что мой индексный файл ДОЛЖЕН быть index.html, иначе он не будет отображать страницу. index.htm или index.php приведут к ошибке 503. Если я установлю индексную страницу на index.html, это сработает. Что странно, мой файл htaccess разрешен для всех.

Еще одна проблема: я думаю, что случайно изменил что-то в своих настройках, когда я был подключен по SSH. Когда я выполняю «установку пакета», он устанавливает драгоценные камни в мое собственное личное веб-пространство, например /home/mywebsite. Но я считаю, что в моем общем плане все rails/ruby/gems и т. д. находятся в каталоге /usr/local/rvm/gems/ruby-1.9.2-p0/, к которому, как мне кажется, у меня нет доступа. Как изменить каталог на стандартный? Например, до того, как журнал ошибок сказал:

/usr/local/rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.0/lib/active_support/dependencies.rb:239:in
`require': no such file to load -- dispatcher (LoadError)

Теперь он говорит:

/home/mysite/.gems/gems/activesupport-3.0.0/lib/active_support/dependencies.rb:239:in
`require': no such file to load -- dispatcher (LoadError)

Я думаю, что пока все. Вот рельсы, установленные на моем сервере хостом:

Installed at (3.0.0): /usr/local/rvm/gems/ruby-1.9.2-p0
(2.3.8): /usr/local/rvm/gems/ruby-1.9.2-p0

(опять же, я думаю, что моя дворняга ищет не в том месте, так как мои гемы теперь устанавливаются в /home/mywebsite/ вместо /usr/local/rvm/gems/) Возможно ли, чтобы кто-то сбросил настройки, которые я вернулся к стандартному моему хосту?

Кто-нибудь захочет потратить время и попытаться исправить это со мной? Меня очень раздражает Hostingrails, так как я ничего не сделал для создания этой проблемы, и они наотрез отказываются мне помочь. Почему мой основной домен получает ошибку 503, когда мой дополнительный домен работает нормально?


person lobski    schedule 03.11.2010    source источник


Ответы (2)


Mongrel несовместим с ruby ​​1.9.2. Вам нужно использовать форк mongrel, чтобы использовать его https://github.com/kyusik/mongrel_cluster

Советую пользователю тонкий/пассажирский или единорог вместо дворняги.

Я нашел небольшой пост в блоге о проблеме с Mongrel и ruby ​​1.9.2 http://xaop.com/blog/2010/08/04/deploying-rails-3-on-ruby-1-9-2/

person shingara    schedule 03.11.2010
comment
Привет, это может показаться глупым, но что такое вилка mongrel? Я скачал Mongrel с этого сайта и не знаю, куда поместить папку на моем сервере. Какова команда для установки этого нового Mongrel, когда я подключаюсь к серверу по SSH? - person lobski; 03.11.2010
comment
это еще одна беспородная жемчужина, но с патчем от другого парня. Не официальный мейнтейнер. Использовать его не просто. Вам нужно установить этот гем с помощью gem install mongrel.gem и использовать его. - person shingara; 03.11.2010

Возможно, вы могли бы попробовать использовать Ruby 1.8.7 - в настоящее время он вызывает меньше проблем.

Не ответ на ваш вопрос в частности, но если вы новичок в Ruby и Rails, то размещение ваших собственных материалов может оказаться сложной задачей.

Вместо этого попробуйте Heroku — просто отправьте свое приложение Rails в Heroku с помощью git, и все готово. Они бесплатно поддерживают собственные доменные имена.

person Ariejan    schedule 03.11.2010
comment
Привет, Что мне нужно сделать, чтобы перейти на 1.8.7? Кроме того, я не размещаю вещи сам, так как у меня есть план хостинга с Hostingrails. Для чего именно Heroku? Это только для локальных серверов? - person lobski; 03.11.2010
comment
Похоже, ваш хостинг-провайдер использует rvm. Возможно, вы могли бы просто сделать rvm 1.8.7. Попробуйте список rvm и посмотрите, какие версии вам доступны. - person Steve Weet; 03.11.2010
comment
Я некоторое время работал с хостингом rails, вы можете создать файл в каталоге .rvmrc и указать там версию для использования. hostingrails.com/Using-Different-Ruby-Versions-with-RVM Я хотел бы добавить, что я ушел из Hosting Rails, потому что их поддержка стала отвратительной. Я бы выбрался оттуда как можно скорее. Вы можете подумать о Rails Playground, у меня никогда не было решения, которое занимало более 2 часов. Мне даже открыли внешний порт на общем сервере! - person Robbie; 03.11.2010
comment
Ну, я вернулся на 1.8.7 и перезапустил Mongrel, похоже, это не помогло. Он также попросил меня установить пакет, что все еще наводит меня на мысль, что rails ищет драгоценные камни не в том месте, поскольку хост уже предоставляет основные. Как изменить каталог, в котором рельсы ищут драгоценные камни? - person lobski; 03.11.2010