坑一: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 去配置
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于