【发布时间】:2016-06-20 14:13:11
【问题描述】:
我想在 Web 上部署一个 Ruby on Rails 应用程序,为此我使用/部署了以下工具:
- Capistrano,将应用文件部署到目标位置
- Apache 的 Phusion 乘客模块
我已经通过sudo a2enmod passenger 启用了Passenger 模块。我还通过 gem 安装程序安装了乘客 gem,并将其添加到我的 rails 应用程序的 Gemfile 中。
然后,我为应用程序“myapp”创建了一个 Apache 虚拟主机。
myapp.conf
Alias /myapp /var/www/myapp/current/public
<VirtualHost *:80>
DocumentRoot /var/www/myapp/current/public
SetEnv SECRET_KEY_BASE 592da***************************************
<Directory /var/www/myapp/current/public>
PassengerEnabled on
PassengerResolveSymlinksInDocumentRoot on
PassengerAppRoot /var/www/myapp/current
PassengerAppType rack
PassengerStartupFile config.ru
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
虚拟主机可以工作,但是当我在网络浏览器中访问 URL 时,它会显示 /var/www/myapp/current/public 中的文件索引,而不是实际的应用程序。造成这种情况的原因似乎是乘客没有启动,但我不知道为什么。我试图调整 myapp.conf 文件以帮助 apache 和乘客检测应用程序,但没有成功。
谁能帮我解决这个问题?提前致谢。
附加信息:该应用部署在以 Raspbian Jessie 作为操作系统的 Raspberry Pi 3 上。
【问题讨论】:
标签: ruby-on-rails ruby apache passenger