如何在Openshift上调试Server Error 500,当rhc tail没有显示错误时?

时间:2015-01-01 13:38:04

标签: openshift python-3.3 django-1.7 openshift-client-tools

我尝试使用我的应用程序调试服务器错误500。我已经读过您应该使用rhc tail来显示实时日志流,并且当前错误时,尝试显示该页面时显示的日志流是:

  

==> app-root / logs / python.log< ==

     

79.24.253.62 - - [01 / Jan / 2015:08:32:17 -0500]" GET / url / HTTP / 1.1" 500 27" http://a-b.rhcloud.com/" " Mozilla / 5.0(Macintosh; Intel Mac OS X 10_10_0)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 39.0.2171.95 Safari / 537.36"

显示的错误是:

picture showing "Server Error (500)"

其他页面有效,此错误仅出现在某些"更高级"页面(例如,静态页面显示正确)。日志的其余部分是:

  

==> app-root / logs / python.log< ==

     

[2015年1月1日08:30:43] [通知]启用SELinux政策; httpd作为上下文运行unconfined_u:system_r:openshift_t:s0:c6,c654

     

[2015年1月1日08:30:43] [通知]摘要:为摘要认证生成秘密......

     

[2015年1月1日08:30:43] [通知]摘要:完成

     

[2015年1月1日08:30:43] [通知] Apache / 2.2.15(Unix)mod_wsgi / 3.4配置Python / 3.3.2 - 恢复正常操作

  

==> app-root / logs / postgresql.log< ==

     

2015-01-01 13:30:25 GMT日志:关闭

     

2015-01-01 13:30:25 GMT LOG:数据库系统关闭

     

2015-01-01 13:30:31 GMT日志:无法绑定统计信息收集器的套接字:权限被拒绝

     

2015-01-01 13:30:31 GMT LOG:为统计数据收集器尝试另一个地址

     

2015-01-01 13:30:31 GMT日志:无法绑定统计信息收集器的套接字:无法分配请求的地址

     

2015-01-01 13:30:31 GMT日志:因缺乏工作套接字而禁用统计信息收集器

     

2015-01-01 13:30:31 GMT警告:因错误配置而未启动autovacuum

     

2015-01-01 13:30:31 GMT提示:启用" track_counts"选项。

     

2015-01-01 13:30:31 GMT日志:数据库系统在2015-01-01 13:30:25 GMT关闭

     

2015-01-01 13:30:31 GMT LOG:数据库系统已准备好接受连接

调试此问题的下一步是什么?

1 个答案:

答案 0 :(得分:2)

我添加了以下Django日志记录配置,它为我提供了django.log文件中500个错误的详细信息。我设置LOG_DIR = os.environ.get('OPENSHIFT_LOG_DIR')

LOGGING = {
  'version': 1,
  'disable_existing_loggers': False,
  'handlers': {
    'file': {
      'level': 'WARNING',
      'class': 'logging.FileHandler',
      'filename': os.path.join(LOG_DIR, 'django.log'),
    },
  },
  'loggers': {
    'django.request': {
      'handlers': ['file'],
      'level': 'WARNING',
      'propagate': True,
    },
  },
}