2015-04-08 21 views
5

Impossibile avviare il processo tramite uwsgi bandiera iniImpossibile avviare uwsgi processo

uwsgi --ini file.ini 

Nessun qualsiasi pid uwsgi

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

file.ini

file di
[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 

lvpp.log

*** 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] 

Ha funzionato presto. Ma quando ho richiamato kill -9 uwsgi.pid non sono riuscito a riavviare il processo uwsgi.

Per favore dimmi, perché posso avviare nuovamente uwsgi? Grazie

risposta

14

la chiave è: errore durante la rimozione presa unix, unlink(): Autorizzazione negata [linea nucleo/socket.c 198]

Si (molto probabilmente) esegue già un'istanza uwsgi come root creato il socket unix file con permessi di root.

Ora l'istanza (in esecuzione, invece, come www) non è in grado di ri-bind(), che presa in quanto non è in grado di scollegare esso (nessuna autorizzazione)

Basta rimuovere il file di socket e riprovare.

+0

Grazie mille. Ho rimosso il file sock. Ora funziona bene. – discort

7

Ero in esecuzione in un problema molto simile, tranne che ancora non avrebbe funzionato anche dopo aver eliminato il file socket. È venuto fuori che è stato perché uWSGI non è riuscito a crearne uno nuovo (esisteva solo perché io stesso ho eseguito uwsgi). La soluzione estremamente semplice è stata quella di chmod la directory contenente il file socket, consentendo all'utente di creare e modificare i file. Ovvio ora, ma forse questo aiuterà una futura povera linfa a colpire la testa contro un muro, come sono stato per troppe ore oggi.

Problemi correlati