日志文件会导致权限错误在部署在Apache
问题描述:
Django应用
我已经在使用mod_wsgi
。我使用的使用Python记录模块登录应用程序的一些值在我的机器上部署一个apache2
和Django 1.3.1 app
这些被写入mylog.txt文件但是我删除了这个文件,并且在我的代码中注释了每个log()调用。在django独立服务器中,应用程序运行时没有任何问题。但是当我在apache中启动应用程序时,我得到这个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
我试图清理甚至cache..but没有帮助
有人可以帮我算出这个名字?
模块详情如下
Apache/2.0.63 (Unix) DAV/2 mod_wsgi/3.3 Python/2.6.5 Server at 127.0.0.1 Port 80
答
什么对你的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可以写入此日志文件。
答
我也在Webpy + Apache中遇到了这个问题。我将Apache日志目录所有者更改为Apache用户,然后解决了问题。
好的,它做到了。我改变了文件权限,现在它不会抱怨 – damon 2012-03-31 04:31:49
酷。很高兴能帮上忙。 – 2012-03-31 04:32:37
感谢您的帮助..但是,现在我得到了另一个错误。我在我的应用程序中使用matplotlib ..新错误说'/ home/damon'不是一个可写的目录;您必须将/home/damon/.matplotlib设置为可写的目录。您还可以将环境变量MPLCONFIGDIR设置为您希望存储matplotlib数据的任何可写目录。“将主目录的权限更改为774可以安全吗? – damon 2012-03-31 04:51:16