Rails应用程序错误:脚本标头过早结束

时间:2013-01-19 22:04:07

标签: ruby-on-rails apache ubuntu-12.04 passenger

我的设置:Ubuntu 12.04 LTS,Apache,Phusion Passenger,最新的Ruby和Rails。

当我访问我的网站时,我收到500内部服务器错误。 错误日志文件:脚本标题的提前结束

有人知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:8)

如果其他人遇到与我相同的问题,请发布此处。

我遵循Rails tutorial,该教程的一部分是确保secret_token是动态生成的(在链接中列出3.2)作为应用程序根目录中的.secret文件。

问题是应用程序以某种方式没有向文件写入令牌,所以我从我的开发.secret中获取了值,对其进行了修改,并将其保存在服务器上。这使我的应用程序正在生产中。

答案 1 :(得分:4)

如果您在production中为config/database.yml配置了一个数据库,如您在评论中提到的那样在服务器上不存在,则可能是您的问题的根源,因为它无法建立数据库连接。

config/database.yml删除该连接,然后重新启动您的应用。

答案 2 :(得分:0)

确定。我使用dreamhost VPS遇到了完全相同的问题。

我犯了2个错误。首先,我没有在生产模式下运行“bundle exec rake db:migrate”,即“bundle exec rake db:migrate RAILS_ENV = production”

但这个问题仍然存在。然后我尝试了Jesper8的回答。我运行“rake secret”并将秘密令牌复制到“生产:面前的config / secrets.yml文件:   secret_key_base:“

重新启动了我的应用程序并且工作正常

希望这可以帮助面临类似问题的人

答案 3 :(得分:-1)

确保环境是发展:

RailsEnv development

添加到Virtualhost配置