2012-10-08 6 views
7

ich in einige Berechtigungsprobleme renne mit uwsgi 12. Hier auf Ubuntu ist meine ini-Datei:uwsgi Buchse Berechtigungen

[uwsgi] 
project = djangorpoject 
base_dir = /home/mysite/mysite.com 

uid = www-data 
gid = www-data 
plugins = http,python 

processes = 4 
harakiri = 60 
reload-mercy = 8 
cpu-affinity = 1 
max-requests = 2000 
limit-as = 512 
reload-on-as = 256 
reload-on-rss = 192 
no-orphans = True 
#vacuum = True 
master = True 

logto = /var/log/uwsgi/%n.log 
#daemonize = /var/log/uwsgi/%n.log 
#catch-exceptions 
disable-logging 

virtualenv = %(base_dir)/venv 
chdir = %(base_dir) 
module = %(project).wsgi:application 

socket = /run/uwsgi/%n.sock 
chmod-socket = 666 
chown-socket = www-data:www-data 

Wie Sie sehen, ich bin mit chmod und chown auf der Socket-Datei. Wenn ich versuche, meine Seite zu laden, erhalte ich folgende Fehlermeldung:

bind(): Permission denied [socket.c line 107] 

Dies geht weg, wenn ich

sudo chown -R www-data:www-data /run/uwsgi 

laufen Aber das bleibt nicht, wenn ich meinen Server neu starten. Ich nehme an, dies ist, weil uwsgi den Ordner beim Booten neu erstellt? Gibt es eine Möglichkeit, die Berechtigungen dauerhaft auf Socket anzuwenden?

Antwort

8

/run ist ein tmpfs was bedeutet, dass es nicht über Neustarts persistent ist. Erstellen Sie stattdessen ein Verzeichnis /var/uwsgi, das persistent sein wird.

+0

Ich habe das versucht, aber es scheint auch nicht zu funktionieren./var/run scheint mit/run identisch zu sein, sind sie symlinked? – Hanpan

+0

@Hanpan, du hast Recht, ich hätte nachsehen sollen. Ich habe die Antwort bearbeitet. –