Наконец-то я завершил свое собственное приложение, поэтому осталось только его развернуть.
Я использую 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, иначе это будет производственный режим.