Не удалось запустить приложение RHEL Ruby (1.9.2) на Rails (3.0.9) и Passenger (3.0.7) - PullRequest
1 голос
/ 27 июля 2011

Я целый день ломал голову над установкой Passenger, чтобы начать обслуживать Ruby on Rails на моем сервере RHEL.

У меня есть Ruby (1.9.2) на Rails (3.0.9) и Passenger (3.0.7), установленный с RVM.

Конфигурация Apache:

RailsBaseURI /dev/testpublic
#RackBaseURI /dev
<Directory /var/www/dev/testublic>   
        Options -MultiViews               
</Directory>  

Я сгенерировал тестовый проект с

rails new . -d mysql
rails generate scaffold Post name:string title:string content:text  
rake db:migrate

Затем, перейдя к тестовому проекту, я получаю:

Исходный файл, который требуется приложению, отсутствует.

It is possible that you didn't upload your application files

правильно. Пожалуйста, проверьте, все ли ваши файлы приложений загружено. Требуемая библиотека может быть не установлена. Пожалуйста, установите все библиотеки что требуется для этого приложения.

Дополнительная информация об ошибке может быть написана файл журнала приложения. Пожалуйста, проверьте это, чтобы проанализировать проблема.

Сообщение об ошибке: нет такого файла для загрузки - rubygems / path_support Exception class: Корень приложения LoadError: / WWW / DEV / rubytest

Любая помощь или советы будут полезны. Спасибо!

  • RR -

1 Ответ

2 голосов
/ 28 июля 2011

И ответить на мой собственный вопрос. Теперь это решено.

Я заметил, что моя установка RVM не завершилась самостоятельно, как следовало бы. Было несколько блоков чтения и отсутствующая конфигурация профиля. Вот что я сделал, чтобы это исправить:

Мой RVM был установлен как многопользовательский, поэтому были проблемы.

chmod a+rx /usr/local/rvm/ -R
chmod a+r /etc/rvmrc

И в / etc / profile, и в мой собственный .basch_profile

[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" # This loads RVM into a shell session.

После этого у меня возникла другая проблема - теперь passeger искал приложение не в том каталоге. У меня настроен apache, поэтому все каталоги верхнего уровня настроены как отдельные файлы, и я могу включить / отключить, как это делается на сайтах.

DocumetRoot в конфигурации Apache (httpd.conf) был установлен, но указывает на подкаталог, который находится не в том пути, где было приложение rails.

Корень документа был

DocumentRoot "/var/www/default"

Где, как мое приложение рельсы были расположены в

/var/www/dev/testpublic

В результате пассажир ищет приложение в каталоге

/var/www/default/dev/testpublic

После соответствующей модификации confic и настройки моей настройки, чтобы я мог установить DocumetRoot на / var / www /, он начал работать.

Надеюсь, это поможет, если кто-то столкнется с подобной проблемой.

  • RR
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...