坑一:Docker run 之后没反应 什么都没有 日志都没有
检查Gunicorn配置文件,原来使用了daemon = True参数,这个参数是将Guncorn放到后台运行,所以消失了并且没有任何输出。
解决方案:屏蔽daemon参数
坑二:Gunicorn没有Flask的日志输出
启动后只有Gunicorn的日志,而没有Flask的日志
解决方案:在Flask里面添加 if __name__!= '__main__': import logging #如果不是直接运行,则将日志输出到 gunicorn 中 gunicorn_logger= logging.getLogger('gunicorn.error') app.logger.handlers= gunicorn_logger.handlers app.logger.setLevel(gunicorn_logger.level)
坑三:worker_class使用geventwebsocket.gunicorn.workers.GeventWebSocketWorker 时没有Flask的访问日志
解决方案:不知道怎么解决,将worker_class换为gevent可以输出访问日志,但是并没有解决根本问题
坑四:Gunicorn的启动参数不生效
原因:Gunicorn的默认配置文件名称是gunicorn.conf.py,如果这里面写了内容,直接用参数运行是怎么都不会生效的
删除默认配置文件gunicorn.conf.py,或者使用gunicorn.conf.py去配置