2016-06-22 10 views
13

今、私はフラスコを使ってWebアプリケーションを開発しています。Flask app get "IOError:[Errno 32]壊れたパイプ"

しかし、最初にそれがうまく機能し、しばらくの間、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 

新しいエラーを示して?

私を助けてください。

+0

' eamil'と 'email'、typos? – hjpotter92

+0

私は、生産にwerkzeugサーバーを使用しないで、gunicornまたはnginx uwsgiなどを使用します。 – syntonym

+0

私は間違って綴りますが、そうではないようです。 –

答えて

17

組み込みのwerkzeugサーバーは、サーバーがコンテンツを引き続き処理している間に、接続を閉じるリモートエンドを処理できません。私が主張するだろう

代わりapp.run(debug=True,port=5000)

from gevent.wsgi import WSGIServer 
http_server = WSGIServer(('', 5000), app) 
http_server.serve_forever() 

を試したり、nginxのを使用している場合、それはむしろwerkzeug問題であるhere

説明したようuwsgiでそれを使用

+0

Werkzeugが私にとって同じエラーを引き起こしていました。ガンコンに切り替えることはとても助けになりました。 http://www.onurguzel.com/how-to-run-flask-applications-with-nginx-using-gunicorn/ – JJFord3

+0

これは本当にうまくいった。投稿していただきありがとうございます。これらの種類のWSGI接続と代替の詳細については、http://flask.pocoo.org/docs/0.12/deploying/wsgi-standalone/を参照してください。 – phyatt

関連する問題