服务器Flask-Socketio+Gunicorn+eventlet部署配置项总结
配置示例文件:
# 配置Gunicorn启动后的进程名称,方便top、ps等指令的辨别
proc_name = 'test-info-websocket'
# 监听本机的5617端口
bind = '0.0.0.0:1081'
# 工作模式为meinheld
# worker_class = 'geventwebsocket.gunicorn.workers.GeventWebSocketWorker'
worker_class = 'eventlet'
# 最大并发数
# worker_connections = 2000
# 开启进程
workers = 1
# 每个进程的开启线程,eventlet启用线程配置可能会导致兼容性问题
# Flask-SocketIO Issues:924, https://github.com/miguelgrinberg/Flask-SocketIO/issues/924#issuecomment-474454086
# threads = 25
同理,eventlet 也有自己的兼容方法:
from eventlet import monkey_patch
monkey_patch()