BLOG
Enjoy when you can, and endure when you must.
JUL 11, 2014/Django
uwsgi部署django工程的常见问题

在Linux上部署django工程的时候,有些细节上的操作如果没注意的话可能会导致一些莫名其妙的错误,这里整理两个很常出现的问题:

-- unavailable modifier requested: 0 --

这句话写的确实不太明确,其实这问题出在uwsgi没能正确找到python。而这多是因为通过apt来独立安装uwsgi导致的,所以如果确实要这么做要注意进一步安装uwsgi-plugin-python,并且在uwsgi的配置文件中指定“plugins = python”。

还有一种方法,我认为更合适,就是直接编译安装uwsgi或通过pip,这样一般不会出问题并且不需要在uwsgi中额外指定plugins。

让人摸不着头脑的500

好不容易把工程部署的差不多了,是时候开跑了!兴奋的打开浏览器输入域名后,映入眼帘的却是一个大大的服务器异常,而查看日志却发现也只有一行访问记录中间穿插着一个碍眼的500。这场景确实有点让人摸不清方向。

一般说来,我觉得可以从两个方面去理清思路。首先可以考虑检查DEBUG模式是不是False,如果是的话,那看看ALLOWED_HOSTS是否加入了当前的域名,否则一定是500!

其次是日志。DEBUG为False的时候,日志的打印是会遵循settings中的LOGGING配置的,比如也许你就有类似于这样的一段配置:

'loggers': {
    'django.request': {
        'handlers': ['mail_admins'],
        'level': 'ERROR',
        'propagate': True,
    },
}

也就是说在级别为ERROR的时候django会向admins投递错误邮件,而且仅仅如此。如果这时我们没有配置admins,那错误信息可就真的不翼而飞了。

COMMENTS
18/01From pyli.xm

感谢!问题解决~

LEAVE COMMNT