web-dev-qa-db-ja.com

uwsgiプロセスを開始できませんでした

Iniフラグを介してuwsgiプロセスを開始できませんでした

uwsgi --ini file.ini

Uwsgipidはありません

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プロセスを再開できるのですか?ありがとう

9
discort

重要なのは、UNIXソケットの削除エラー、unlink():アクセスが拒否された[core/socket.c line 198]

あなたは(おそらく)以前にrootとしてuwsgiインスタンスを実行し、root権限でunixソケットファイルを作成しました。

これで、インスタンス(代わりにwwwとして実行)は、ソケットのリンクを解除できない(権限がない)ため、そのソケットをre-bind()できません。

ソケットファイルを削除して再試行してください。

18
roberto

ソケットファイルを削除しても機能しないことを除けば、非常によく似た問題が発生していました。 uWSGIが新しいものを作成できなかったためであることが判明しました(私がuwsgiを自分で実行したためにのみ存在していました)。腹立たしいほど単純な解決策は、ソケットファイルを含むディレクトリをchmodし、wwwユーザーがそこでファイルを作成および変更できるようにすることでした。今は明らかですが、今日は何時間も過ごしているので、これは将来の貧しい樹液が壁に頭をぶつけるのに役立つかもしれません。

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
13