• 关于django编码问题所导致的502错误


    在使用django开发的时候,访问网站出现了502错误,次数也比较平繁

    uwsgi+nginx+django

    在命令行下提示如下错误

    File "/opt/apps/python3/lib/python3.5/linecache.py", line 137, in updatecache
    lines = fp.readlines()
    File "/opt/apps/python3/lib/python3.5/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 484: invalid continuation byte

    ------------------------------------------------------------------------------------------------------------------------------------------------

    很明显的编码错误

    使用netstat -ntlp查看uwsgi进程,并没有被kill

    接着查看 /var/log/nginx/error.log日志

    错误信息如下:

    upstream prematurely closed connection while reading response header from upstream

    ----------------------------------------------------------------------------------------------------------------------------------------------

    通过以上两点,可以看出,在配置django项目时,一定有py文件的编码格式不对,这导致了uwsgi无法正常工作,

    由于本人一直用winscp工具进行django的配置与写入,于是查看了最近自己编辑的py文件,如url.py views.py models.py等文件,终于找到了问题所在,views.py 文件显示的是gbk编码,

    将它修改为utf-8后重新启动服务器,果然再也没有出现502错误了

    在web开发中会遇到很多问题,有可能一个问题会导致你苦恼一个星期,当我们实在无法从网络上找到问题的答案,倒不如静下心来自己仔细分析分析。

  • 相关阅读:
    不忘初心,方得始终
    我的博客开通了~第一个帖子奉上
    @TableLogic表逻辑处理注解(逻辑删除)
    nginx笔记
    ERROR: permission denied for relation hycom 权限被拒绝
    Mybatis-plus学习笔记
    SpringBoot学习笔记
    org.apache.ibatis.binding.BindingException原因总结(找不到映射文件)
    SpringBoot优先加载设置
    Date时间处理
  • 原文地址:https://www.cnblogs.com/jjj-fly/p/7274645.html
Copyright © 2020-2023  润新知