【问题标题】:uwsgi returns 500 error after 1 minute1分钟后uwsgi返回500错误
【发布时间】:2013-01-28 16:40:50
【问题描述】:

我已经设置了一个 nginx+uwsgi+flask 应用程序,它就像一个魅力,但是如果我在 1 分钟后加载一个页面并加载其他页面(或同一页面),uwsgi 返回一个 500 内部服务器错误而没有任何信息在日志中,如果我加载页面它工作正常。

我注意到只有在请求绑定到上一个进程的同一 pid 时才会发生这种情况。

这是我用来启动 uwsgi 的:

HOSTPATH=/var/www/vhosts/example.com

uwsgi -H $HOSTPATH/httpdocs/venv -x $HOSTPATH/httpdocs/uwsgi.xml -M 4 -t 30 -A 4 -p 4  --pidfile /var/run/uwsgi.pid -d /var/log/uwsgi.log --harakiri-verbose --enable-threads --log-5xx --no-orphans

我的 uwsgi.xml:

<uwsgi>
  <socket>127.0.0.1:3031</socket>
  <chdir>/var/www/vhosts/example.com/httpdocs/app</chdir>
  <pythonpath>..</pythonpath>
  <module>wsgi:app</module>
  <master>True</master>
</uwsgi>

还有我的 nginx 配置:

server {
    listen 80;
    listen xx.xxx.xxx.xx:80 default_server;

    server_name example.com;
    client_max_body_size 128m;

    location / {
        include         uwsgi_params;
        uwsgi_pass      127.0.0.1:3031;
        proxy_set_header X-Accel-Internal /static;
    }


    location /static {
        alias      /var/www/vhosts/example.com/httpdocs/app/project/static/;
    }
}

有什么想法吗?

【问题讨论】:

    标签: python nginx flask uwsgi


    【解决方案1】:

    你确定 uWSGI 返回 500 而不是 nginx 这样做吗?可以开启flask调试吗?

    您是否查看过该页面:http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

    出于好奇,将 xml 配置与命令行参数混合有什么具体原因吗?

    【讨论】:

      【解决方案2】:

      我安装了 NewRelic,发现错误是 MySQL 超时。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-01
        • 1970-01-01
        • 2014-03-29
        相关资源
        最近更新 更多