标签: wsgi

通过uWSGI时,Flask debug = True不起作用

我打电话给app.run(debug=True)我的烧瓶文件.

我用uWSGI和nginx部署了它(我遵循了这些说明)

uwsgi -s /tmp/uwsgi.sock -w flask_file_name:app -H /path/to/virtual/env --chmod-socket 666
Run Code Online (Sandbox Code Playgroud)

但是当我收到错误时,我没有在浏览器或uWSGI日志中获得任何调试信息.

有任何想法吗?

flask_file_name.py:

from flask import Flask, make_response, Response, jsonify
import json

app = Flask(__name__)
app.debug = True

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == '__main__':
    app.run()
Run Code Online (Sandbox Code Playgroud)

python wsgi flask

38
推荐指数
3
解决办法
2万
查看次数

uwsgi:您的服务器套接字侦听backlog限制为100个连接

我在uwsgi上运行一个烧瓶应用程序.我使用主管来管理uwsgi进程.我发现日志说的那样

您的服务器套接字侦听backlog限制为100个连接.

如何克服100个连接限制?我的运行脚本如下:

[program:myapp]
command=uwsgi --master -s /tmp/app.sock --module myapp:app --processes 2 -H /srv/sites/mysite chmod-socket 666 --enable-threads
Run Code Online (Sandbox Code Playgroud)

python wsgi flask uwsgi supervisord

36
推荐指数
3
解决办法
3万
查看次数

在Flask或WSGI中打印原始HTTP请求

我正在调试我构建的微控制器,它逐行写入原始HTTP请求.我正在使用Flask作为后端,我希望看到整个请求,因为它以这种格式显示:

GET / HTTP/1.1
Content-length: 123
User-agent: blah
...
Run Code Online (Sandbox Code Playgroud)

我知道Flask基于WSGI.反正有没有让它与Flask一起工作?

python wsgi flask

36
推荐指数
6
解决办法
5万
查看次数

WSGI和FCGI之间有速度差异吗?

从网上我发现WSGI是一个用于python web开发/框架的CGI.FCGI似乎是各种语言的更通用的网关.在参考python和C/++语言时,不知道两者之间的性能差异.

python wsgi fastcgi

35
推荐指数
2
解决办法
2万
查看次数

如何在Apache2上使用WSGI部署Flask时解决导入错误

我有一个问题是使用wsgi在apache2上部署烧瓶应用程序.我已经在下面发布了错误日志和配置文件.我试过移动东西,重命名它们等,但都给了我一个内部服务器错误.不知道为什么我收到导入错误.任何意见/建议表示赞赏,谢谢!

这是我的apache error.log

[Sun Sep 12 20:47:59 2010] [error] [client] mod_wsgi (pid=9753): Target WSGI script '/sites/flaskfirst/wsgi.py' cannot be loaded as Python module.
[Sun Sep 12 20:47:59 2010] [error] [client] mod_wsgi (pid=9753): Exception occurred processing WSGI script '/sites/flaskfirst/wsgi.py'.
[Sun Sep 12 20:47:59 2010] [error] [client] Traceback (most recent call last):
[Sun Sep 12 20:47:59 2010] [error] [client]   File "/sites/flaskfirst/wsgi.py", line 1, in <module>
[Sun Sep 12 20:47:59 2010] [error] [client]     from app import app as application
[Sun Sep 12 20:47:59 2010] …
Run Code Online (Sandbox Code Playgroud)

python apache wsgi flask

35
推荐指数
2
解决办法
2万
查看次数

从WSGI访问POST数据

我似乎无法弄清楚如何使用WSGI访问POST数据.我在wsgi.org网站上尝试了这个例子,它没有用.我现在正在使用Python 3.0.请不要推荐WSGI框架,因为这不是我想要的.

我想弄清楚如何将它放入fieldstorage对象.

python wsgi python-3.x

34
推荐指数
3
解决办法
3万
查看次数

ImportError:没有名为django.core.wsgi的模块Apache + VirtualEnv + AWS + WSGI

我试图在亚马逊的EC2实例上发布我的网站,并且我一直收到500错误.我真的不知道为什么.

//日志文件

    [Sun Feb 17 23:12:48.066802 2013] mod_wsgi (pid=2102): Target WSGI script '/srv/www/app/poka/apache/wsgi.py' cannot be loaded as Python module.
    [Sun Feb 17 23:12:48.066840 2013] mod_wsgi (pid=2102): Exception occurred processing WSGI script '/srv/www/app/poka/apache/wsgi.py'.
    [Sun Feb 17 23:12:48.066864 2013] Traceback (most recent call last):
    [Sun Feb 17 23:12:48.066889 2013] File "/srv/www/mysite/poka/apache/wsgi.py", line 26, in <module>
    [Sun Feb 17 23:12:48.066920 2013] from django.core.wsgi import get_wsgi_application
    [Sun Feb 17 23:12:48.066945 2013] ImportError: No module named django.core.wsgi
Run Code Online (Sandbox Code Playgroud)

// Apache配置文件

    WSGIScriptAlias / /srv/www/app/mysite/apache/wsgi.py

    WSGIDaemonProcess mysite python-path=/srv/www/app/mysite:/home/ec2-user/.virtualenvs/mysite-main/lib/python2.7/site-packages …
Run Code Online (Sandbox Code Playgroud)

apache django wsgi amazon-ec2 django-wsgi

34
推荐指数
3
解决办法
7万
查看次数

104,'通过对等连接重置'套接字错误,或什么时候关闭套接字导致RST而不是FIN?

我们正在并行开发Python Web服务和客户端Web站点.当我们从客户端向服务发出HTTP请求时,一次调用始终在socket.py中引发socket.error,在read中:

(104, 'Connection reset by peer')

当我使用wireshark收听时,"好"和"坏"的反应看起来非常相似:

  • 由于OAuth标头的大小,请求将分为两个数据包.该服务用ACK响应
  • 服务发送响应,每个标头一个数据包(HTTP/1.0 200 OK,然后是Date标头等).客户端使用ACK响应每个客户端.
  • (好请求)服务器发送FIN,ACK.客户端以FIN,ACK响应.服务器响应ACK.
  • (错误请求)服务器发送RST,ACK,客户端不发送TCP响应,socket.error在客户端引发.

Web服务和客户端都运行在运行glibc-2.6.1的Gentoo Linux x86-64机器上.我们在同一个virtual_env中使用Python 2.5.2.

客户端是一个Django 1.0.2应用程序,它调用httplib2 0.4.0来发出请求.我们使用OAuth签名算法对请求进行签名,OAuth令牌始终设置为空字符串.

该服务正在运行Werkzeug 0.3.1,它使用的是Python的wsgiref.simple_server.我通过wsgiref.validator运行WSGI应用程序,没有任何问题.

看起来这应该很容易调试,但是当我在服务端追踪一个好的请求时,它看起来就像是一个错误的请求,在socket._socketobject.close()函数中,将委​​托方法转换为虚方法.当send或sendto(不记得哪个)方法关闭时,FIN或RST被发送,客户端开始处理.

"由同行重置连接"似乎将责任归咎于服务,但我也不信任httplib2.客户可以有错吗?

**进一步调试 - 看起来像Linux上的服务器**

我有一台MacBook,所以我尝试在一台服务器和另一台客户端网站上运行服务.Linux客户端调用OS X服务器而没有错误(FIN ACK).OS X客户端使用错误调用Linux服务(RST ACK和a(54,'由peer重置连接')).所以,看起来它是在Linux上运行的服务.是x86_64吗?一个坏的glibc?的wsgiref?还在寻找...

**进一步测试 - wsgiref看起来很脆弱**

我们已经使用Apache和mod_wsgi进行生产,连接重置已经消失.请参阅下面的答案,但我的建议是记录连接重置并重试.这将使您的服务器在开发模式下运行正常,并且可以稳定地投入生产.

python sockets wsgi werkzeug httplib2

32
推荐指数
3
解决办法
12万
查看次数

无效的命令'WSGIScriptAlias',可能拼写错误或由未包含在服务器配置中的模块定义'configtest'失败

我在配置CKAN DataPusher时遇到了以下错误.

无效的命令'WSGIScriptAlias',可能由服务器中未包含的模块拼写错误或定义.配置'configtest'失败.

我怎样才能解决这个问题?

apache ubuntu mod-wsgi wsgi ckan

32
推荐指数
3
解决办法
3万
查看次数

如果请求中止,则停止处理Flask路由

我有一个烧瓶REST端点,它执行一些cpu密集型图像处理,并需要几秒钟才能返回.通常,此端点被调用,然后由客户端中止.在这些情况下,我想取消处理.我怎么能在烧瓶中做到这一点?

在node.js中,我会做类似的事情:

req.on('close', function(){
  //some handler
});
Run Code Online (Sandbox Code Playgroud)

我期待烧瓶有类似的东西,或者我可以在处理过程中检查某些点的同步方法(request.isClosed()),如果关闭则返回,但我找不到.

我考虑发送一些东西来测试连接是否仍然打开,如果失败则捕获异常,但似乎Flask缓冲所有输出,因此在处理完成并尝试返回结果之前不会抛出异常:

已建立的连接已由主机中的软件中止

如果客户端中止他们的请求,我怎样才能取消处理中途?

python rest wsgi http flask

31
推荐指数
1
解决办法
1万
查看次数