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

我正在生产中运行的应用程序诊断500错误,这是非常困难的。 我以前有过这样的工作,但通过Capastrano重新部署后,我无法完成。

这里是事实:

服务器设置为Nginx + passenger,我正在使用Postgresql

静态资产正常工作,因为我可以在浏览器中正常访问它们。

我可以通过RAILS_ENV=production bundle exec rails console访问RAILS_ENV=production bundle exec rails console并执行Active Record动作(如从数据库中检索数据)。

在控制台内,我可以运行app.get("/") ,它也会返回一个500错误(在首先显示运行加载模型的查询之后)。

production.log文件从不写入。 我已经为它设置了权限777。 我也设置日志级别:debugging没有任何显示

Nginx日志(乘客也使用)没有显示错误,只是通知caching未命中。

因为没有使用logging,我不知道该怎么做。 我已经尝试在整个应用程序目录设置完整的权限,没有任何帮助。 重新启动服务器多次,什么都没有。 数据库在那里,轨道可以清楚地与它沟通。 我不知道我做了什么才能让它第一次运行。 我只是不知道为什么轨道不输出任何东西到日志。

Phusion Passenger + Heroku + Cloudfront:CORSconfiguration

Nginx未知指令passenger_root

百胜在Linux不工作

RVM,Ruby 1.9.2,Rails 3,Passenger 3.0.2(Bundler :: GemNotFound)

使用Passenger for Nginx部署多个Ruby应用程序(Rails和Sinatra)?

Nginx limit_req限制的问题 – 文档说明?

旅客服务器定期关机的主要原因是什么?

Faye-rails,ngnix,乘客从faye响应迟缓

使用Nginx和Phusion Passenger自动部署rails Gitlab项目到子域

Rails JavaScript视图在生产中不起作用

好的,我明白了这一点。 该应用程序在开发模式下运行良好,所以我知道生产特定的东西是搞砸了。 我进入了config / environments / production.rb并更改了这些设置:

# Full error reports are disabled and caching is turned on config.consider_all_requests_local = false # changed from true config.action_controller.perform_caching = true # changed from false

然后重新启动乘客后,铁轨显示错误w / stacktrace。 原来我忘了预先编译资产管道!

事情要检查

1)你确定你在生产环境中运行吗? 检查是否有任何条目在development.log文件

2)设置您的应用程序发送电子邮件时,500堆栈跟踪发生错误。 我使用Exception Notifier gem,但是有很多其他解决方案。

3)在控制台检查您的应用程序时,确定您是在生产模式下启动控制台? 应用程序可能根本没有启动,只是忘了设置生产参数,从而认为应用程序运行良好。

4)你是否得到一个Nginx 500错误或Rails 500错误? 如果是Nginx,那么很可能是你的应用程序根本就没有启动,而且不太可能在你的日志文件中出现任何rails错误。 这些资产是静态文件,导航到他们证明只是你的存在。

5)你确定你正在检查服务器上的正确的文件夹? 听起来很愚蠢,但是capistrano可能会将应用程序部署到与ninx正在寻找您的应用程序的文件夹不同的文件夹,所以请仔细检查capistrano正在部署到的文件夹以及Nginx正在查找的文件夹。

只是一个建议,我会用独角兽而不是乘客。 这对Nginx来说太棒了。

我的问题是乘客的日志文件( error.log )没有任何内容。 那么这是一个轮转日志问题。 跑

passenger-config reopen-logs

解决了我的问题。 更多 。

您是否尝试过在开发模式下运行以查看错误是否会自行报告?

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...