0

我已经设置了一个 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/;
    }
}

关于它可能是什么的任何想法?

4

2 回答 2

0

您确定 uWSGI 返回 500 并且 nginx 不这样做吗?你可以启用烧瓶调试吗?

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

只是出于好奇,将 xml config 与命令行 args 混合是否有任何具体原因?

于 2013-01-28T19:07:04.720 回答
0

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

于 2013-02-18T11:50:15.223 回答