2015-04-08 19 views
5

konnte nicht uwsgi Prozess über ini-Flagkonnte nicht starten uwsgi Prozess

uwsgi --ini file.ini 

Keine irgendwelche uwsgi pids

ps aux | grep uwsgi 
root  31605 0.0 0.3 5732 768 pts/0 S+ 06:46 0:00 grep uwsgi 

file.ini

[uwsgi] 

chdir =/var/www/lvpp/site 

wsgi-file =/var/www/lvpp/lvpp.wsgi 

master = true 

processes = 1 

chmod-socket=664 

socket = /var/www/lvpp/lvpp.sock 

pidfile= /var/www/lvpp/lvpp.pid 

daemonize =/var/www/lvpp/logs/lvpp.log 

vacuum = true 

uid = www 

gid = www 

env = DJANGO_SETTINGS_MODULE=settings 

Datei lvpp.log

starten
*** Starting uWSGI 2.0.10 (32bit) on [Wed Apr 8 06:46:15 2015] *** 
compiled with version: 4.4.7 20120313 (Red Hat 4.4.7-11) on 17 March 2015 21:29:09 
os: Linux-2.6.32-431.29.2.el6.i686 #1 SMP Tue Sep 9 20:14:52 UTC 2014 
machine: i686 
clock source: unix 
pcre jit disabled 
detected number of CPU cores: 1 
current working directory: /var/www/lvpp 
writing pidfile to /var/www/lvpp/lvpp.pid 
detected binary path: /var/www/lvpp/site/env/bin/uwsgi 
setgid() to 503 
setuid() to 501 
chdir() to /var/www/lvpp/site/ 
your processes number limit is 1812 
your memory page size is 4096 bytes 
detected max file descriptor number: 1024 
lock engine: pthread robust mutexes 
thunder lock: disabled (you can enable it with --thunder-lock) 
error removing unix socket, unlink(): Permission denied [core/socket.c line 198] 
bind(): Address already in use [core/socket.c line 230] 

Es funktionierte früh. Aber als ich kill -9 aufgerufen habe, konnte ich uwsgi.pid nicht erneut starten.

Bitte sagen Sie mir, warum kann ich den uwsgi-Prozess erneut starten? Dank

Antwort

14

Der Schlüssel ist: Fehler Entfernen Unix-Socket, unlink(): Zugriff verweigert [Kern/socket.c Leitung 198]

Sie (sehr wahrscheinlich), die zuvor eine uwsgi Instanz als root ausführen, um die Unix-Socket zu schaffen Datei mit Root-Berechtigungen.

nun die Instanz (statt wie www ausgeführt wird) ist nicht in der Lage zu binden wieder(), dass Steckdose, da sie nicht in der Lage ist (keine Berechtigungen)

Entfernen Sie einfach die Socket-Datei zu entkoppeln und erneut versuchen.

+0

Vielen Dank. Ich habe Socken-Datei entfernt. Jetzt funktioniert es gut. – discort

7

Ich lief in ein sehr ähnliches Problem, außer es würde immer noch nicht funktionieren, selbst nach dem Löschen der Socket-Datei. Es stellte sich heraus, dass uWSGI keine neue erstellen konnte (es existierte nur, weil ich selbst uwsgi lief). Die ärgerlich einfache Lösung war chmod das Verzeichnis, das die Socket-Datei enthält, so dass der Benutzer www dort Dateien erstellen und ändern kann. Offensichtlich jetzt, aber vielleicht wird das einem zukünftigen armen Sap helfen, ihren Kopf gegen eine Wand zu schlagen, wie ich es heute für zu viele Stunden gewesen bin.

Verwandte Themen