No se pudo iniciar el proceso de uwsgi

No se pudo iniciar el proceso de uwsgi a través de la bandera ini

uwsgi --ini file.ini 

No hay ningún uwsgi pids

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

archivo.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 

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

Funcionó temprano. Pero cuando invocé kill -9 uwsgi.pid no pude volver a iniciar el proceso uwsgi.

Por favor, dime, ¿por qué puedo comenzar de nuevo el proceso de uwsgi? Gracias

La clave es: error al eliminar el socket de Unix, unlink (): Permiso denegado [core / socket.c line 198]

Usted (muy probablemente) ejecutó previamente una instancia de uwsgi como root creando el archivo de socket Unix con permisos de root.

Ahora su instancia (ejecutándose en su lugar como www) no puede volver a enlazar () ese socket ya que no puede desvincularlo (sin permisos)

Simplemente quite el archivo de socket y vuelva a intentarlo.

Me estaba topando con un problema muy similar, excepto que aún no funcionaría incluso después de eliminar el archivo de socket. Resulta que fue porque uWSGI no pudo crear uno nuevo (solo existió porque yo mismo ejecuté uwsgi). La solución exasperadamente simple fue chmod el directorio que contiene el archivo de socket, permitiendo al usuario de www crear y modificar archivos allí. Obvio ahora, pero tal vez esto ayude a un pobre pobre futuro a golpear su cabeza contra una pared, como lo he estado durante demasiadas horas hoy.

 root@srv16:/var/run/uwsgi> ls -la total 0 drwxr-xr-x 2 root root 60 Jul 16 07:11 . #<-- problem drwxr-xr-x 25 root root 880 Jul 19 09:14 .. srw-rw---- 1 www-app www-data 0 Jul 16 07:11 app.socket #^-- no idea how www-app managed to create that file root@simsrv16:/var/run/uwsgi> chmod 777 . #<-- fix