#ruby-on-rails #ruby-on-rails-3 #passenger
#ruby-on-rails #ruby-on-rails-3 #пассажир
Вопрос:
Использовал railsready, затем passenger с / apache2, наконец скопировал мое приложение в / home / myapp.
Вставил строки конфигурации passenger в /etc / apache2 / apache.conf внизу вместе с настройками моего виртуального хоста:
Имя сервера — rails.
LoadModule passenger_module /home/myapp/.rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /home/myapp/.rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.7
PassengerRuby /home/myapp/.rvm/wrappers/ruby-1.9.2-p180/ruby
<VirtualHost *:80>
ServerName rails
DocumentRoot /home/myapp/public
</VirtualHost>
Все, что я получаю, это страницу apache «Это работает», когда я открываю IP-адрес. Я делаю что-то не так?
Комментарии:
1. Я думаю, вы тоже забыли скопировать конфигурацию passenger.
2. Я сделал, загрузочный модуль, PassengerRoot, строки PassengerRuby. Поместите их прямо над строками виртуального хоста
3. однако, похоже, они не включили это в ваш вопрос.
Ответ №1:
Вы объявили a ServerName
, поэтому вы должны использовать его для доступа к этому виртуальному хостингу (а не к IP-адресу, как вы упомянули). Подключитесь к http://rails /
Чтобы это сработало, имя хоста rails
должно соответствовать IP вашего сервера. Вы можете добавить его в свой файл hosts или использовать реальное доменное имя, настроенное для разрешения на этот IP.
Или вы можете изменить значение Apache по DocumentRoot
умолчанию VirtualHost
, и тогда оно всегда будет отвечать приложением Rails.
Комментарии:
1. да, изменение значения по умолчанию сработало. Теперь мне нужно разобраться с ошибкой paperclip.
Ответ №2:
Попробуйте:
<VirtualHost *:80>
ServerName rails
DocumentRoot /home/myapp/public
<Directory /var/www/robox/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Кроме того, вам может потребоваться отключить сайт по умолчанию. В Ubuntu вы можете сделать это с:
[sudo] a2dissite default
[sudo] service apache2 restart
Комментарии:
1. ОК. Следующее: оно может не совпадать с
ServerName
. Что именно вы вводите в браузере, чтобы получить доступ к этому приложению?2. Firefox, я получаю эту ошибку. Но оно разрешается по IP. apache2: не удалось надежно определить полное доменное имя сервера, используя THE_IP для ServerName
3. Нет, что вы вводите в строке местоположения браузера, чтобы получить доступ к приложению. Это
http://rails
?4. Также это сообщение от apache2 сообщает мне, что оно не отображает имя
rails
на сервер. На какой ОС вы работаете?5. Смотрите ответ @ michael-witrant выше