supervisor + uwsgi
无法重启程序
*** Operational MODE: preforking ***
WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x24ec4e0 pid: 4274 (default app)
*** uWSGI is running in multiple interpreter mode ***
gracefully (RE)spawned uWSGI master process (pid: 4274)
spawned uWSGI worker 1 (pid: 4348, cores: 1)
spawned uWSGI worker 2 (pid: 4349, cores: 1)
spawned uWSGI worker 3 (pid: 4350, cores: 1)
spawned uWSGI worker 4 (pid: 4351, cores: 1)
Mon Apr 4 11:29:32 2016 - uWSGI worker 1 screams: UAAAAAAH my master disconnected: i will kill myself !!!
Mon Apr 4 11:29:32 2016 - uWSGI worker 2 screams: UAAAAAAH my master disconnected: i will kill myself !!!
执行重启命令
sudo supervisorctl start demo
demo: ERROR (abnormal termination)
uwsgi.log 可能是重启的时候 uwsgi 进程仍在监听该端口
probably another instance of uWSGI is running on the same address (127.0.0.1:8001).
bind(): Address already in use [core/socket.c line 769]
我的配置文件 uwsgi.ini
[uwsgi]
# Django-related settings
chdir = /home/www/Documents/demo
module = demo.wsgi:application
env = DJANGO_SETTINGS_MODULE=demo.settings_production
home = /home/www/Documents/demo/venv
user = www
uid = www
pcre-jit
thunder-lock
enable-threads
master = true
touch-reload = /home/www/Documents/demo/reload
processes = 4
socket = 127.0.0.1:8001
chmod-socket = 664
vacuum = true
supervios conf
[program:vblue]
directory= /home/www/Documents/demo
command = /home/www/Documents/demo/venv/bin/uwsgi --ini /home/www/Documents/demo/uwsgi.ini
autostart=true
autorestart=true
redirect_stderr = true
stdout_logfile = /home/www/Documents/demo/logs/out.log
stdout_logfile_maxbytes = 1MB
stderr_logfile= /home/www/Documents/demo/logs/err.log
不知道怎么重启的时候关掉 uwsgi 进行监控, 官方文档只有推荐用 Circus
1
indust 2016-04-04 12:08:34 +08:00 via Android
stopsignal=QUIT
|
2
zonghua OP @indust http://uwsgi-docs.readthedocs.org/en/latest/Options.html?highlight=pidfile#stop 感觉不需要 supervisor 了, uwsgi 本身就有一个主从的守护进程。
|
3
refraction 2016-04-04 18:11:17 +08:00 via Android 1
这报错信息实在是 哈哈哈哈
|
4
zonghua OP @refraction 有分享一下配置文件吗
|
5
refraction 2016-04-04 20:22:16 +08:00
@zonghua 啊?回复错人了吧
|
6
clino 2016-04-05 11:54:32 +08:00 1
看不出是什么原因导致的 master 进程挂掉
'执行重启命令 sudo supervisorctl start demo' 然而这个并不是重启命令,重启是 restart 我经常加的 supervisor 参数有这两个,你试试看有木有用: stopsignal=QUIT exitcodes=0,1,2 //根据你的情况改 另外直接用 uwsgi 自己跑试试看有没有 master 会挂掉的问题? 如果 uwsgi 单独跑不会出问题,但是用 supervisor 跑有问题,考虑和 supervisor 的参数有没有关系. |