Phusion乘客 - 安装后我实际做了什么?

时间:2012-03-18 12:54:58

标签: ruby-on-rails ubuntu passenger

我在linode上使用Ubuntu 10.04,我已经安装了apache2和Rails 3.2.2。我的应用程序在example.com:3000上运行正常

我按照说明在这里安装了Phusion乘客:

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

在这里:

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

但我不确定如何在生产模式下在example.com上实际运行我的应用程序。我输入的命令是什么?我做'rails server'还是'rails server -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/

linode安装指南说明了第一种方法(http://library.linode.com/web-servers/apache/installation/ubuntu-10.04-lucid),但Passenger说明了第二种方法。只要它是一致的,它是否重要?

我的乘客模块位在/ 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

in 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文件中。我为此设置了以下内容:

配置/环境/ production.rb     ...     config.assets.compile = true     ...

1 个答案:

答案 0 :(得分:1)

安装过程(例如,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指向此计算机,您应该很高兴。