Назад | Перейти на главную страницу

Ошибка 500 при развертывании приложения rails через apache2 + пассажира

Наконец-то я завершил свое собственное приложение, поэтому осталось только его развернуть.

Я использую Ubuntu 10.04 и apache2 (устанавливается с помощью apt-get), поэтому я пытаюсь развернуть через пассажира.

Я установил пассажирский драгоценный камень вот так:

sudo gem install passenger
rvmsudo passenger-install-apache2-module

и я настроил параметры apache в соответствии с сообщением об установке.

Я добавил строки ниже в середине файла /etc/apache2/apache2.conf.

LoadModule passenger_module /home/admin/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /home/admin/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17
PassengerRuby /home/admin/.rvm/wrappers/ruby-1.9.3-p194/ruby

и я добавил следующие строки в файл / etc / apache2 / sites-available / default.

<VirtualHost *:80>
  ServerName localhost
  # !!! Be sure to point DocumentRoot to 'public'!
  DocumentRoot /home/admin/homepage/public
  <Directory /home/admin/homepage/public>
     # This relaxes Apache security settings.
     AllowOverride all
     # MultiViews must be turned off.
     Options -MultiViews
  </Directory>

Но когда я перезапускаю службу apache и нажимаю на адрес, возникает ошибка 500.

Сначала это была та же ошибка 500, но страница с ошибкой 500 взята из apache, но когда я переустановил libapache2-module-пассажира, страница ошибки 500 была изменена на страницу с rails '.

Из-за страницы ошибок 500 rails (которая находится по адресу public / 500.html) я думаю, что пассажирский модуль правильно подключен к apache.

Что мне делать, чтобы решить эту проблему?

Нужно ли мне что-то настраивать внутри моего приложения перед развертыванием?

Добавить:

RailsEnv development

или:

RailsEnv production

к vhost

затем перезапустите.

Вам необходимо настроить подключение к базе данных и установить все необходимые гемы (пакетная установка). Посмотрите, какие журналы говорят о вашей проблеме, вы можете найти это в log / dir корневого пути вашего приложения.

Вы запускаете его в производственном режиме?
Вам необходимо определить режим разработки в конфигурации apache, иначе это будет производственный режим.