logfile导致在apache上部署的django应用程序中出现权限错误

时间:2012-03-31 04:14:24

标签: python django apache

我使用Django 1.3.1 app在我的机器上apache2上部署mod_wsgi。我曾经使用python日志记录模块在应用程序中记录一些值,并将这些值写入mylog.txt文件在应用程序基础目录中。但是我删除了这个文件并在我的代码中注释掉了每个log()调用。在django独立服务器中,应用程序运行没有任何问题。但是当我在apache中启动应用程序时,我得到了这个apache日志条目

[Sat Mar 31 09:34:40 2012] [error] [client 127.0.0.1] TemplateSyntaxError: Caught IOError while rendering: [Errno 13] Permission denied: '/home/me/dev/python/django/myapp/mylog.txt'

我无法理解为什么会发生这种情况,因为我注释掉了代码中每个与日志相关的行,甚至是在settings.py中告诉日志文件名称的变量

我尝试清除缓存..但即使这没有帮助

有人可以帮我解决这个问题吗?

模块详情如下

Apache/2.0.63 (Unix) DAV/2 mod_wsgi/3.3 Python/2.6.5 Server at 127.0.0.1 Port 80

2 个答案:

答案 0 :(得分:1)

你的mylog.txt文件中的unix / linux权限是什么?

ls -la /home/me/dev/python/django/myapp/mylog.txt应该显示unix / linux perms。你能粘贴这个命令的结果吗? (如果可能,请在上面的问题中更新)

您系统上的Apache2用户(取决于您使用Mac的Linux发行版)很可能是“www-data”或“http”。您需要确保mylog.txt具有正确的unix / linux所有者和正确的权限模式,以便apache2可以写入此日志文件。

答案 1 :(得分:0)

我也在Webpy + Apache中遇到过这个问题。我将Apache日志目录所有者更改为Apache用户然后解决了问题。