我是使用nignx-uwsgi的django app主机。这是我的uwsgi配置:
[uwsgi]
master = true
socket = /var/uwsgi/uwsgi.sock
chmod-socket = 666
chdir = /home/ubuntu/test
wsgi-file = /home/ubuntu/test/test/wsgi.py
virtualenv = /home/ubuntu/virtual
vacuum = true
enable-threads = true
daemonize= /home/ubuntu/uwsgi.log
我在nignx日志中遇到错误
2017/06/16 04:25:42 [错误] 26129#0:* 1141328 connect()到unix:///var/uwsgi/uwsgi.sock连接上游时失败(11:资源暂时不可用) ,client:xxx.xxx.xx,server:
并且该网站显示502坏网关。我必须重新启动uwsgi来修复它。但是错误的频率正在增加。无论如何要解决这个问题。
答案 0 :(得分:7)
当服务器负载过重时会出现此错误。首先,我尝试过增加worker_connections的值,但它没有用。 uWSGI的队列大小默认为100,因此当从Nginx到uWSGI的超过100个请求被传递时,队列变满并且Nginx向客户端抛出502,以解决这个问题,增加uWSGI的队列大小。在uwsgi.ini文件中添加“listen = {required queue size}”。就我而言,我写道,听= 200。
但在此之前,您必须检查$ cat / proc / sys / net / core / somaxconn
默认值为128,因此通过以下方式增加其值:
$ echo 200>的/ proc / SYS /网/核心/ SOMAXCONN
或$ sysctl -w net.core.somaxconn = 200