Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 调试生产服务器(linode)ruby on rails_Ruby On Rails_Capistrano_Postgresql 9.1_Unicorn_Linode - Fatal编程技术网

Ruby on rails 调试生产服务器(linode)ruby on 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

我是一个完全的新手,当涉及到部署一个网站,请原谅这个问题含糊不清

我关注了ryan bates的第337集(https://github.com/railscasts/337-capistrano-recipes)部署我的rails应用程序。我正在使用Ubuntu10.04LTS、nginx、unicorn和capistrano以及postgres

后盖部署:冷一切似乎建立良好

但当我点击我的ip时,我的rails应用程序给了我以下错误:

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
。这有点棘手。你能给我关于这个问题的详细信息吗?我为这个问题创建了一个新的问题,所以我可以给你所有的细节:谢谢你的帮助。现在我知道如何调试了。我沿着你和上面的那条路走,他们都引导我找到了答案。