【问题标题】:Resource temporarily unavailable using uwsgi + nginx使用 uwsgi + nginx 资源暂时不可用
【发布时间】:2017-11-18 18:52:55
【问题描述】:

我有使用 nignx-uwsgi 的 django 应用程序主机。这是我的 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 [error] 26129#0: *1141328 connect() to unix:///var/uwsgi/uwsgi.sock 在连接到上游时失败(11:资源暂时不可用) ,客户端:xxx.xxx.xx,服务器:

网站显示 502 bad gateway。我必须重新启动 uwsgi 才能修复它。但是错误的频率正在增加。有没有办法解决这个问题。

【问题讨论】:

    标签: django nginx uwsgi


    【解决方案1】:

    当服务器负载过重时会出现此错误。首先,我尝试增加 worker_connections 的值,但没有奏效。 uWSGI 的队列大小默认为 100,因此当 Nginx 向 uWSGI 传递超过 100 个请求时,队列已满,Nginx 向客户端抛出 502,为了解决这个问题,增加了 uWSGI 的队列大小。在 uwsgi.ini 文件中添加“listen= {required queue size}”。就我而言,我写道,listen=200。

    但在做之前,你必须检查 $ cat /proc/sys/net/core/somaxconn 默认情况下,它的值为 128,因此通过以下方式增加其值: $echo 200 > /proc/sys/net/core/somaxconn
    或 $ sysctl -w net.core.somaxconn=200

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2018-05-11
    • 2021-02-21
    • 2018-08-04
    • 2021-05-07
    • 2018-02-24
    • 2016-01-25
    相关资源
    最近更新 更多