Пассажир Фьюжн - что я на самом деле делаю после того, как это сделаю? - PullRequest
1 голос
/ 18 марта 2012

Я использую Ubuntu 10.04 на линоде, и я установил apache2 и Rails 3.2.2.Мое приложение отлично работает на example.com:3000

Я следовал инструкциям по установке Phusion passenger здесь:

http://www.modrails.com/install.html

и здесь:

http://wiki.brightbox.co.uk/docs:rvm

Но яЯ не уверен, как на самом деле запустить мое приложение на example.com в производственном режиме.Какую команду я ввожу, чтобы сделать это?Я делаю 'сервер rails' или 'сервер rails -p 80'?Какую команду я использую?

РЕДАКТИРОВАТЬ 1:

Мой файл Virtualhost находится в

<VirtualHost *:80>
 ServerAdmin webmaster@example.com
 ServerName example.com
 ServerAlias www.example.com
 DocumentRoot /srv/www/example.com/public_html/
 ErrorLog /srv/www/example.com/logs/error.log
 CustomLog /srv/www/example.com/logs/access.log combined

 <Directory /srv/www/example.com/public_html/>
    AllowOverride all
    Options -Multiviews
 </Directory>
</VirtualHost>

В одном я не уверен, должен ли я иметькаталог как

/srv/www/example.com/public_html/

/srv/www/example.com/public/

В руководстве по установке линоды указан первый метод (http://library.linode.com/web-servers/apache/installation/ubuntu-10.04-lucid),, но пассажир указывает второй. Имеет ли это значение, если он согласован?

Биты моего пассажирского модулякак в / etc / apache2 / mods-available:

в passenger.conf

PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p125/ruby

в passenger.load

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11/ext/apache2/mod_passenger.so    

РЕДАКТИРОВАТЬ 2: У меня есть сейчасдобавили биты пассажирского модуля в файл конфигурации apache вместо файлов passenger.conf и passenger.load, и я установил для этого следующее:

config / сред / production.rb ... config.assets.compile = true ...

1 Ответ

1 голос
/ 18 марта 2012

Процесс установки (например, часть passenger-install-apache2-module) в конце дает инструкции относительно того, что вам нужно сделать.

Суть в том, чтобы создать виртуальный хост для приложения, скажем, /etc/apache2/sites-available/myapp это выглядит примерно так:

<VirtualHost *:80>
  ServerName example.com
  ServerAlias *.example.com
  DocumentRoot /path/to/app/public

  PassengerMinInstances 2
  PassengerPoolIdleTime 600
  PassengerUserSwitching on
  PassengerDefaultUser someuser

  RailsBaseURI /

  <Directory "/path/to/app/public">
    FileETag none
    Options All
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

Убедитесь, что вы положили биты пассажирского модуля в нужное место в соответствии с инструкциями.Вот как выглядит моя шахта:

$ cat /etc/apache2/mods-available/passenger.*
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11
PassengerRuby /usr/local/bin/ruby

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11/ext/apache2/mod_passenger.so

Тогда вы просто делаете обычные вещи Apache:

sudo a2ensite myapp
sudo /etc/init.d/apache2 reload

Предполагая, что example.com указывает на эту машину, вам следует идти.

...