[英]Flask app get “IOError: [Errno 32] Broken pipe”
現在我用flask來開發web應用程序。
但最初它運行良好,在操作網頁一段時間后,燒瓶后端顯示如下錯誤:
File "/usr/lib64/python2.6/BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "/usr/lib/python2.6/site-packages/werkzeug/serving.py", line 251, in handle_one_request
return self.run_wsgi()
File "/usr/lib/python2.6/site-packages/werkzeug/serving.py", line 193, in run_wsgi
execute(self.server.app)
File "/usr/lib/python2.6/site-packages/werkzeug/serving.py", line 184, in execute
write(data)
File "/usr/lib/python2.6/site-packages/werkzeug/serving.py", line 152, in write
self.send_header(key, value)
File "/usr/lib64/python2.6/BaseHTTPServer.py", line 390, in send_header
self.wfile.write("%s: %s\r\n" % (keyword, value))
IOError: [Errno 32] Broken pipe
我的應用程序運行在端口5000 app.run(debug=True,port=5000)
,
我使用nginx作為Web服務器,並在nginx配置文件中設置proxy_pass http://127.0.0.1:5000
。
現在我真的不知道哪里出錯了,我使用session['email'] = request.form['email']
,在其他文件中我使用email = session.get('email')
。
這種用法是對的嗎? 如何設置會話活動期?
或任何其他原因導致此錯誤?
然后我設置app.run(debug=False,port=5000)
,它顯示新的錯誤
File "/usr/lib64/python2.6/SocketServer.py", line 671, in finish
self.wfile.flush()
File "/usr/lib64/python2.6/socket.py", line 303, in flush
self._sock.sendall(buffer(data, write_offset, buffer_size))
socket.error: [Errno 32] Broken pipe
為什么?
請幫幫我,謝謝。
內置的werkzeug服務器無法處理遠程端關閉連接,而服務器仍在修改其內容。
而不是app.run(debug=True,port=5000)
嘗試
from gevent.wsgi import WSGIServer
http_server = WSGIServer(('', 5000), app)
http_server.serve_forever()
或者如果你正在使用nginx的,與uwsgi使用它作為描述在這里
我認為這是一個werkzeug
問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.