Рубин: проблема с пассажиром - PullRequest
0 голосов
/ 16 ноября 2009

Сначала я установил mod_ruby на моем Debian, а потом (после того, как выяснил, что он слишком медленный) я хотел найти пассажира для моего apache

Теперь у меня проблема в том, что пассажир успешно загружен apache, но не используется, хотя я все правильно настроил, например:

<VirtualHost *>
        ServerAdmin webmaster@localhost
        ServerName xyz
        DocumentRoot /var/www/vhosts/default/htdocs/
        RailsBaseURI /rails
</VirtualHost>

Instad пассажирского cgi - модуля используется для отображения rails-приложений ... (если я выгружаю cgi.conf и cgi-load из папки "sites-enabled", он больше не работает ... с другой стороны, он все еще работает, если я выгружаю файлы passenger.load и passenger.conf ...)

Итак, как я могу заставить Apache использовать пассажира для отображения сайтов рельсов?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2009

Предполагается, что пассажир правильно установлен и настроен с помощью Apache ... Ваш DocumentRoot должен указывать на каталог public вашего приложения rails. Вот рабочая директива VirtualHost:

<VirtualHost *:80>
  ServerName myapp.local
  DocumentRoot "/path/to/myapp/public"
  RailsEnv development
  <directory "/path/to/myapp/public">
    Order allow,deny
    Allow from all
  </directory>
</VirtualHost>

Заранее убедитесь, что включены именованные виртуальные хосты:

NameVirtualHost *:80

А также, что у вас действительно правильно настроена модель пассажира. Например:

LoadModule passenger_module /path/to/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
PassengerRoot /path/to/ruby/gems/1.8/gems/passenger-2.2.5
PassengerRuby /path/to/bin/ruby
0 голосов
/ 16 ноября 2009

Вы перенастроили relative_url_root в своем приложении rails? Например, в config/environment.rb:

config.action_controller.relative_url_root = "/rails"
...