我在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 ...
答案 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
指向此计算机,您应该很高兴。