Warum kann meine Django App nicht in ihre Protokolldatei schreiben?

8

$ sudo /etc/init.d/apache2 neustart

%Vor%

Benutzername @ Servername Do Nov 04 18:54:37 ~ / public_html / IDM_app
$ sudo tail -n 60 /var/log/apache2/error.log

%Vor%

username @ servername Do Nov 04 18:54:42 ~ / public_html / IDM_app
$ ls -l /home/username/public_html/IDM_app/log/django.osqa.log

%Vor%

Benutzername @ Servername Do Nov 04 19:08:41 ~ / public_html / IDM_app
** $ ls -l ~ / public_html / idm.wsgi **

%Vor%

Benutzername @ Servername Do Nov 04 19:10:50 ~ / public_html / IDM_app
$ cat ~ / public_html / idm.wsgi

%Vor%

Benutzername @ Servername Do Nov 04 19:11:02 ~ / public_html / IDM_app $ whoami

%Vor%

Wenn Apache2 die Setup-Datei für den virtuellen Host @ ~ / public_html / idm.wsgi verwendet, versucht der Benutzer nach Meinung des Systems, die Protokolldatei log / django.osqa.log zu schreiben?

Warum kann meine Django-App nicht in ihre Protokolldatei schreiben?

    
BryanWheelock 04.11.2010, 19:41
quelle

1 Antwort

17

Apache läuft wahrscheinlich als apache Benutzer, was bedeutet, dass er keinen Schreibzugriff auf die Protokolldatei hat. Es startet gut, weil es nur die wsgi-Datei lesen muss, die Berechtigungen für alle Benutzer gelesen hat. entweder chmod a+w django.osqa.log oder chown <apache-user> django.osqa.log .

Hinweis: Die bevorzugte Methode wäre chown der Datei.

Hinweis 2: Dies ist abhängig von der Distribution, aber da Ubuntu-y aussieht, ist der Apache-Benutzer www-data .

    
Benn 04.11.2010, 19:44
quelle

Tags und Links