我已尝试使用 Apache 2.2.21 和 Passenger 3.0.13 托管 Rails 3.2.3 应用程序:
- 安装 gem 乘客
- rvmsudo 乘客安装 apache2 模块
- 在 /etc/apache2/extra/httpd-vhosts.conf 中添加了网站信息
- 在 /etc/hosts 中添加了一行(不确定是否需要这样做;乘客文档中未提及
- 取消注释 /etc/apache2/httpd.conf 中包含 /etc/apache2/extra/httpd-vhosts.conf 的行
- 重新启动 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 文件,看看它是否会显示。它显示了我所希望的..
有没有办法让乘客找到我的资产而无需我重写我的应用程序?
任何帮助,将不胜感激。