使用Passenger部署RoR应用程序:Apache仅显示来自公用文件夹的文件

时间:2012-03-15 22:55:45

标签: ruby-on-rails apache permissions directory passenger

我是Rails和Apache的新手。我按照教程创建了新的rails应用程序,并尝试使用Passenger进行部署。

我生成了一个脚手架,创建了+迁移的数据库,并且它已经在localhost:3000上工作了。

我安装了apache2和乘客,启用了mod乘客,我可以看到通常的#34;欢迎乘坐/你正在使用Ruby on Rails!" localhost上的页面:80也是。但我无法访问localhost / posts页面,而我可以访问localhost:3000 /帖子。 (我看到" 500内部服务器错误"页面,而不是公共文件夹中的404/422/500页面之一)。我也没有在端口#80上的索引页面(assets / rails.png)上看到rails图像 - 在端口#3000上一切正常。

我将RackEnv开发人员和RailsEnv开发人员添加到虚拟主机文件中。当我重新启动时,Apache在屏幕上没有错误输出 - 当我说a2dismod乘客时合理地给出了错误:"无效的命令' RackEnv'"。所以我假设乘客在工作。

我相信apache不会读取除公共文件夹之外的文件夹,我尝试使用权限和所有权而没有成功。

有人有线索吗?

由于

编辑:我做了

rake db:创建RAILS_ENV =生产 rake db:migrate:reset RAILS_ENV = production

并从vhost文件中删除了RackEnv / RailsEnv行,并重新启动了apache。现在我在localhost / posts上看到public / 500.html。它仍在使用localhost:3000 / posts

日志:rails日志文件仅包含

迁移至CreateDenemes(20120316021657)

apache错误日志

[Thu Mar 15 22:22:03 2012] [notice] Digest:为摘要认证生成秘密...... [Thu Mar 15 22:22:03 2012] [notice] Digest:done [Thu Mar 15 22:22:04 2012] [notice] Apache / 2.2.20(Ubuntu)DAV / 2 Phusion_Passenger / 3.0.11 mod_ssl / 2.2.20 OpenSSL / 1.0.0e配置 - 恢复正常运行 小号

和other_vhosts ...日志为空

V主机文件:

VirtualHost *:80

  ServerName sencer

  DocumentRoot /home/sselcuk/sencer/public

  Directory /home/sselcuk/sencer/public

     AllowOverride all              

     Options -MultiViews           

  /Directory

/虚拟主机

1 个答案:

答案 0 :(得分:1)

我需要你的日志文件,包括Rails和apache日志。

  1. Rails日志文件:请参阅:RAILS_ROOT / log / production.log

  2. apache日志文件:请参阅/ var / log / apache2(在ubuntu中)

  3. 一旦获得该信息,我们就可以为您调试。