Ruby on rails 调试生产服务器(linode)ruby on rails
我是一个完全的新手,当涉及到部署一个网站,请原谅这个问题含糊不清 我关注了ryan bates的第337集(https://github.com/railscasts/337-capistrano-recipes)部署我的rails应用程序。我正在使用Ubuntu10.04LTS、nginx、unicorn和capistrano以及postgres 后盖部署:冷一切似乎建立良好 但当我点击我的ip时,我的rails应用程序给了我以下错误:Ruby on rails 调试生产服务器(linode)ruby on rails,ruby-on-rails,capistrano,postgresql-9.1,unicorn,linode,Ruby On Rails,Capistrano,Postgresql 9.1,Unicorn,Linode,我是一个完全的新手,当涉及到部署一个网站,请原谅这个问题含糊不清 我关注了ryan bates的第337集(https://github.com/railscasts/337-capistrano-recipes)部署我的rails应用程序。我正在使用Ubuntu10.04LTS、nginx、unicorn和capistrano以及postgres 后盖部署:冷一切似乎建立良好 但当我点击我的ip时,我的rails应用程序给了我以下错误: We're sorry, but something w
We're sorry, but something went wrong.
我知道这不是一条非常有用的错误消息。我假设它与数据库有关,因为我以前在使用postgresql在heroku上部署时见过它
我不知道如何检查linode服务器上的日志文件,并获取有关如何调试的更多信息
非常感谢您的指导
提前谢谢大家 您需要使用ssh登录到linode服务器,并亲自查看日志文件 Railscast中
config/deploy.rb
文件中的这一行:
set :deploy_to, "/home/#{user}/apps/#{application}"
告诉您应用程序部署到linode服务器上的哪个目录。在该目录中,您应该看到一个名为
shared/log
的目录;您的日志应该在那里。我在OpenShift上部署Rails应用程序时遇到类似问题
在我的例子中,错误是由缺少的资产生成的,而不是在清单文件中定义的
事实证明,这与资产有关。我开始研究它,我发现它是在Rails找不到您要查找的资产时生成的,因为这些资产缺失、未编译或未包含在清单中(直接通过名称或间接通过require_树)
第一种情况很清楚。你应该将它们包含在你的应用程序代码中,或者你应该将它们添加到你的装备中。第二种情况对您来说应该不是问题,因为OpenShift会为您解决这一问题。但是如果你确实有问题,可以在论坛上搜索关于不编译你的资产的问题
第三种情况有两种解决办法。有一个正确的和快速的。我需要专家对第二个问题的意见。它们是:您需要将资产(通常是样式表和/或某些第三方工具)添加到要在environment application.rb中预编译的项列表中
config.assets.precompile += ['960sm.css']
或者是我找到的快捷方式,它将普遍适用于您的所有资产:
config/environments/production.rb中有一个设置
config.assets.compile = true
像这样将其设置为true,这将解决问题
我希望这有帮助。我花了两周时间研究同一个问题。类似的问题。谢谢你的帮助!刚刚不得不将config.assets.compile=从false更改为true。但是现在我的twitterbootstrap文件没有编译或其他什么。引导在生产中不起作用。如果你有一个关于如何修复它的想法,你的帮助将不胜感激。哦!!您正在使用更少的rails
。这有点棘手。你能给我关于这个问题的详细信息吗?我为这个问题创建了一个新的问题,所以我可以给你所有的细节:谢谢你的帮助。现在我知道如何调试了。我沿着你和上面的那条路走,他们都引导我找到了答案。