使用uwsgi + nginx暂时无法使用资源

时间:2017-06-16 05:52:05

标签: django nginx uwsgi

我是使用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来修复它。但是错误的频率正在增加。无论如何要解决这个问题。

1 个答案:

答案 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