美文网首页
nginx日志编码突然变成十六进制

nginx日志编码突然变成十六进制

作者: 运维大湿兄 | 来源:发表于2019-04-01 16:44 被阅读0次

    问题描述:

    查看nginx日志,突然变成看不懂的字符,例如:xE6\xBC\x94\xE7\xA4\xBA\xE7\xAB\x99。


    乱码图片.png

    猜想是nginx编码问题,里面上网查找。

    网上搜索的解决办法有:

    1.改编码

    编辑conf下面的nginx.conf

    在server段里加以下两行

    default_type 'text/html';
    charset utf-8;
    

    然后重启。

    这个方法我起了作用

    2.还有设置日志格式主编码:

    设置转义方式,这个方法我试过escape=none或者json都无效,应该是这个方法是针对nginx 1.11.8 以上版本

    log_format postdata escape=json  ' $remote_addr | $request_body | $resp_body ' ;
    

    通过nginx -v命令得知,我安装的nginx版本是1.9.3的,
    nginx version: openresty/1.9.3.1

    3.针对这个版本的nginx,采用以下方法也可以解决:

    直接在 nginx.conf的记录日志的location部分里面配置下面这一行就好了:

    log_escape_non_ascii off;
    

    相关文章

      网友评论

          本文标题:nginx日志编码突然变成十六进制

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