使用 Apache2 和 Passenger 启动 Rails 应用程序时显示目录根目录

使用 Apache2 和 Passenger 启动 Rails 应用程序时显示目录根目录

我已完成以下操作以尝试使用 Apache 2.2.21 和 Passenger 3.0.13 托管 Rails 3.2.3 应用程序:

  1. 已安装宝石乘客
  2. rvmsudo 乘客安装-apache2-模块
  3. 在 /etc/apache2/extra/httpd-vhosts.conf 中添加了网站信息
  4. 在 /etc/hosts 中添加了一行(不确定是否需要;Passenger 文档中未提及)
  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>

当我执行 rvmsudo airline-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 文件以查看它是否会显示。它按我所希望的方式显示。

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

任何帮助,将不胜感激。

更新时间:2012 年 6 月 23 日上午 10:00 CDT GMT-6

我修正了文件的问题,并成功执行了 rake assets:precompile 命令。我仍然像以前一样获得索引页。我没有做任何其他更改。我执行了 passage-status 命令,它仍然加载。重新启动 Apache 没有任何效果。根据文档所述,应该重新启动 Rails 应用程序。

更新时间:2012 年 7 月 14 日下午 6:19 CDT GMT-6

我刚刚意识到我没有更新它。我尝试了不同的方法,包括预编译资产。我遇到了与此无关的其他问题,所以我决定清除我的 Mac Mini 服务器并重新开始。我终于能够使用 Passenger 将我的应用程序托管在服务器上。但是当我这样做时,我失去了使用 phpPgAdmin 的能力。它不再找到默认文件夹或 /var/empty。不知道发生了什么,但我最终安装了 PgAdmin(我讨厌它),但至少我可以管理 PostgreSQL 数据库。希望我能解决这个问题。

答案1

相关内容