apache 服务器无法写入日志文件

apache 服务器无法写入日志文件

我正在开发一个 Django 应用程序,但在日志文件方面遇到了问题。我配置了一个记录器来写入/var/log/django/django.log。当我尝试启动服务器时,出现 500 错误,错误日志显示

ValueError: Unable to configure handler 'djangologfile': [Errno 13] Permission denied: '/var/log/django/django.log'
"httpd/error_log" 480L, 61112C

django.log和目录的权限django都是 777。为什么服务器无法写入该文件?

答案1

可能SELinux阻止了该写入尝试。您可以运行以下命令来禁用它:

setenforce 0

或者创建一个规则以允许其写入。为此,请检查您的系统日志文件并复制“拒绝”的行,它应该是这样的:

audit(...): avc:  denied  { write } for  pid=27984 comm="httpd" name="httpd" dev=sda6 ino=307469 scontext=root:system_r:httpd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=...

复制并运行以下命令:

audit2allow -M local << _EOF_
(paste the content)
_EOF_

semodule -i local.pp

这将为其创建一个永久规则,因此您不需要禁用 SELinux。

相关内容