无法启动uwsgi进程

无法通过ini标志启动uwsgi进程

uwsgi --ini file.ini 

没有任何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 

文件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] 

它早期工作。 但是当我调用kill -9 uwsgi.pid时,我无法再启动uwsgi进程。

请告诉我,为什么我可以再次启动uwsgi进程? 谢谢

关键是:错误删除unix套接字,unlink():权限被拒绝[core / socket.c line 198]

你(很可能)以前以root用户身份运行一个uwsgi实例,创建具有root权限的unix套接字文件。

现在你的实例(运行而不是www)不能重新绑定()该套接字,因为它不能够解除链接(没有权限)

只要删除套接字文件,然后重试。

我遇到了一个非常类似的问题,除了在删除套接字文件之后依然无法工作。 原来,这是因为uWSGI不能创建一个新的(它只存在,因为我自己跑uwsgi)。 令人非常简单的解决方案是chmod包含套接字文件的目录,允许www用户在那里创建和修改文件。 现在显而易见,但也许这将有助于未来的可怜的树汁撞墙,就像我今天已经呆了太多时间一样。