美文网首页python遨游记
nginx出现502错误

nginx出现502错误

作者: Maql | 来源:发表于2017-02-17 10:56 被阅读118次

    环境

    项目使用的是django+gunicorn+supervisor+nginx,具体可以查看这篇文章

    问题

    经测试发现有时页面会出现502错误,随后计时统计发现当响应时间超过30秒时则会出现502错误,如下:


    502错误

    猜测

    因为使用了nginx,一开始以为是它出现了问题,后来发现nginx的默认配置超时时间都是超过30s的,而且修改了也不起作用。后来就猜测应该是gunicorn出了问题,在google上找了gunicorn的官网:http://docs.gunicorn.org/en/19.3/settings.html ,找到settings中timeout的默认时间真的是30s:

    --timeout INT
    官网是这么写的,后面的INT为需要你手工修改的实际值。于是按照着官方修改了,因为使用的是supervisor控制shell脚本启动gunicorn,所以我只要修改shell脚本就好,具体的脚本可以看以往的文章。

    但是!

    修改好后,使用supervisor重启项目,发现项目都跑不起来了!,这是为什么呢?明明是按照官网的来修改的呀!

    真相

    仔细观察发现,原来使用supervisor控制shell脚本启动,每行配置 后面都需要跟一个反斜杠"",具体在远程连接会显示成如下,类似于w的字符:


    shell脚本

    结果

    重启后发现,当任何任务超过30s时,项目不会报502错误了!!!

    相关文章

      网友评论

        本文标题:nginx出现502错误

        本文链接:https://www.haomeiwen.com/subject/yvpkwttx.html