我的设置:Ubuntu 12.04 LTS,Apache,Phusion Passenger,最新的Ruby和Rails。
当我访问我的网站时,我收到500内部服务器错误。 错误日志文件:脚本标题的提前结束
有人知道如何解决这个问题吗?
答案 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配置