相关疑难解决方法(0)

如何正确诊断500错误(Rails,Passenger,Nginx,Postgres)

我正在艰难地从生产中运行的应用程序中诊断出500错误.我之前已经开始工作了,但是在通过Capastrano重新部署之后我无法理解它.

以下是事实:

  1. 服务器是用nginx + passenger设置的,我正在使用PostgreSQL.
  2. 静态资产正常工作,因为我能够在浏览器中正常访问它们.
  3. 我可以通过rails控制台访问RAILS_ENV=production bundle exec rails console并执行Active Record操作(比如从数据库中检索数据).
  4. 在控制台中,我可以运行app.get("/"),它也返回500错误(在首次显示运行以加载模型的查询之后).
  5. 永远不会写入production.log文件.我已经为它设置了777权限.我还将日志级别设置为:debug,无需显示任何内容.
  6. nginx日志(乘客也使用)显示没有错误的迹象,它只是通知缓存未命中.

因为没有记录任何用途,我不知道该怎么做.我已经尝试在没有帮助的情况下在整个app目录上设置完全权限.多次重启服务器,什么都没有.数据库就在那里,rails可以清楚地与它通信.我不知道我做了什么让它第一次运行.我只是不知道为什么rails没有输出任何东西到日志.

capistrano ruby-on-rails passenger nginx ruby-on-rails-3

7
推荐指数
1
解决办法
1万
查看次数

Rails 3 + carrierwave + nginx =权限被拒绝

我用rmagick安装了carrierwave gem.

如果加载WEBr​​ick但在尝试使用nginx时获得500内部服务器错误,我可以正常工作.

nginx error.log说:

2011/08/14 10:06:40 [crit] 760#0: *4247 open() "/usr/local/Cellar/nginx/1.0.4/client_body_temp/0000000033" failed (13: Permission denied), client: 127.0.0.1, server: jewellery.dev, request: "POST /items/28?locale=en HTTP/1.1", host: "jewellery.dev:8080", referrer: "http://jewellery.dev:8080/items/28/edit?locale=en"
Run Code Online (Sandbox Code Playgroud)

我还在initializers文件夹上创建了一个文件,其中包含:

CarrierWave.configure do |config|
  config.permissions = 0777
end
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

gem nginx ruby-on-rails-3 carrierwave

5
推荐指数
1
解决办法
2230
查看次数