#ruby-on-rails-3 #ubuntu #apache2 #passenger
#ruby-on-rails-3 #ubuntu #apache2 #пассажир
Вопрос:
Я пытаюсь использовать Passenger для развертывания приложения rails в Ubuntu с помощью Apache. Я следовал практически всем руководствам, которые я мог найти по настройке Passenger с Apache / Ubuntu. Однако, когда я захожу на сайт, я просто вижу фактические каталоги файлов, а не запущенную версию приложения. Если я переключаюсь на каталог / public, я просто вижу общедоступный каталог, когда захожу на сайт. Я могу запускать и останавливать сервер rails, вызывая rails s
без каких-либо ошибок, но по-прежнему не могу видеть запущенную версию приложения. Кто-нибудь сталкивался с подобными проблемами? Есть ли хорошая отправная точка, которую кто-нибудь мог бы предложить мне посмотреть? Я не уверен, что проблема в apache или passenger.
Конфигурация Apache
LoadModule passenger_module /usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRuby /usr/bin/ruby
PassengerRoot /usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.9
PassengerMaxPoolSize 10
<VirtualHost *:80>
ServerName http://www.myapp.com/
DocumentRoot /var/www/myapp/current/
<Directory /var/www/myapp/current/public>
Allow from all
</Directory>
Когда я перезапускаю apache, я получаю сообщение о том, [Sun Nov 06 14:43:48 2011] [warn] module passenger_module is already loaded, skipping
что я не уверен, ошибка это или нормально.
Обновить
Когда я запускаю find / -name 'mod_passenger.so'
, я получаю два местоположения: /usr / lib / ruby/gems/1.9.1/gems / passenger-3.0.9/ext/apache2/mod_passenger.so /usr / lib/apache2/modules/mod_passenger.so
Обновление 2
У меня есть несколько файлов passenger.config
/etc/apache2/mods-enabled/passenger.conf
/etc/apache2/mods-available/passenger.conf
/usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.9/debian/passenger.conf
Каждый из файлов passenger.conf содержит следующее:
<IfModule mod_passenger.c>
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
</IfModule>
Ответ №1:
Попробуйте поместить следующее в конфигурационный файл apache
<Directory /var/www/myapp/current/public>
Allow from all
#Add following line
Options Includes -Indexes
</Directory>
Ответ №2:
У вас может быть mod_passenger.so символическая ссылка в вашем каталоге с поддержкой apache2 / mods. Это привело бы к двойному импорту.
Выполнить
a2dismod mod_passenger.so
чтобы удалить любую символическую ссылку, перезапустите Apache.