1

我已尝试使用 Apache 2.2.21 和 Passenger 3.0.13 托管 Rails 3.2.3 应用程序:

  1. 安装 gem 乘客
  2. rvmsudo 乘客安装 apache2 模块
  3. 在 /etc/apache2/extra/httpd-vhosts.conf 中添加了网站信息
  4. 在 /etc/hosts 中添加了一行(不确定是否需要这样做;乘客文档中未提及
  5. 取消注释 /etc/apache2/httpd.conf 中包含 /etc/apache2/extra/httpd-vhosts.conf 的行
  6. 重新启动 Apache

当我尝试打开我的网站时,会显示以下内容:

Index of /

    Name    Last modified   Size    Description

Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8r DAV/2 PHP/5.3.10 with Suhosin-Patch Phusion_Passenger/3.0.13 Server at lightbesandbox2.com Port 443

这是该网站的 /etc/hosts 条目:

127.0.0.1   www.lightbesandbox2.com

这是该网站的 /etc/apache2/extra/httpd-vhosts.conf 条目:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName www.lightbesandbox2.com
  ServerAlias lightbesandbox2.com
  PassengerAppRoot /Users/server1/Sites/iktusnetlive_RoR/ 
  DocumentRoot /Users/server1/Sites/iktusnetlive_RoR/public    
  <Directory /Users/server1/Sites/iktusnetlive_RoR/public>
    AllowOverride all
    Options -MultiViews
  </Directory>
</VirtualHost>

当我执行 rvmsudopassenger-status 时,我得到以下输出:

----------- General information -----------
max      = 6
count    = 1
active   = 0
inactive = 1
Waiting on global queue: 0

----------- Application groups -----------
/Users/server1/Sites/iktusnetlive_RoR/:
  App root: /Users/server1/Sites/iktusnetlive_RoR/
  * PID: 8140    Sessions: 0    Processed: 2       Uptime: 20m 51s

我的所有资产都不在我的 Rails 应用程序的公用文件夹中。我使用 Michael Hartl 的 Ruby on Rails 教程中提供的模板编写了一个应用程序。主页位于 /app/views/static_pages/home.html.erb。我决定在公共文件夹中复制一个 index.html 文件,看看它是否会显示。它显示了我所希望的..

有没有办法让乘客找到我的资产而无需我重写我的应用程序?

任何帮助,将不胜感激。

4

1 回答 1

0

也许这可能会有所帮助 http://www.ajibanda.com/2010/12/install-ruby-on-rails-in-ubuntu-server.html

不过,它使用的是 2.1,您可以将其用作从第 7 步开始设置乘客的指南

于 2012-12-07T03:39:59.953 回答