2

Flask でサイトを作成しています。サーバーとのすべての通信は WebSocket を介して行われます。TCP/IP で gunicorn を使用する場合:

gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker chat:app --bind=127.0.0.1:8800

すべて正常に動作します。しかし、Unix ソケット ファイルを使用する場合:

gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker chat:app -b unix:///var/sockets/gunicorn.sock

ログにエラーがあります:

[root@localhost legalize]# gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker chat:app -b unix:///var/sockets/gunicorn.sock
2015-04-03 13:32:26 [25392] [INFO] Starting gunicorn 18.0
2015-04-03 13:32:26 [25392] [INFO] Listening at: unix:/var/sockets/gunicorn.sock (25392)
2015-04-03 13:32:26 [25392] [INFO] Using worker: socketio.sgunicorn.GeventSocketIOWorker
2015-04-03 13:32:26 [25397] [INFO] Booting worker with pid: 25397
FAILED to start flash policy server: [Errno -2] Name or service not known: ('/', 10843)
FAILED to start flash policy server: [Errno -2] Name or service not known: ('/', 10843)
FAILED to start flash policy server: [Errno -2] Name or service not known: ('/', 10843)

このエラーを修正するにはどうすればよいですか?

4

1 に答える 1

1

プロジェクトgevent-socketio(Socket.IO プロトコルを処理する Flask-SocketIO の依存関係) は、Flash トランスポートに使用されるセカンダリ Web サーバーを開始します。このサーバーは、メイン サーバーと同じホスト上でリッスンしますが、ポート 10843 でリッスンします。メイン サーバーが UNIX ソケットでリッスンする場合、そのロジックは明らかに失敗します。

Flash サポートを提供する必要がありますか? そうでない場合は、環境変数POLICY_SERVERを null 以外の値に設定して、完全に無効にすることをお勧めします。興味がある場合に備えて、ポリシー サーバーを無効にするロジックを次に示します

于 2015-04-03T15:42:00.340 に答える