Nginx错误日志(error_log)配置及信息详解

整合 Nginx
阅读数: 2752 2018年11月26日

Nginx软件会把自身运行的故障信息及用户访问的日志信息记录到指定的日志文件里。包括 PHP 的报错信息,方便查错,例如:

2018/11/26 09:59:17 [error] 11641#0: *38857054 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught UnexpectedValueException: The stream or file "/mnt/web/.../logs/2018-11-26.log" could not be opened: failed to open stream: Permission denied in /mnt/..../Monolog/Handler/StreamHandler.php:107

可以不配置 nginx 的 access_log 必须配置好 error_log。 


Nginx错误日志信息介绍

    Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(ngx_core_module)的参数,该参数的名字为 error_log,可以放在Main区块中全局配置,也可以放在不同的虚拟主机中单独记录虚拟主机的错误信息


error_log的默认值:

#error_log  logs/error.log  error;

error_log的语法格式及参数语法说明如下:

    error_log   

    关键字        日志文件   错误日志级别

 

    关键字:其中关键字 error_log 不能改变

    日志文件:可以指定任意存放日志的目录

    错误日志级别:常见的错误日志级别有[debug | info | notice | warn | error | crit | alert | emerg],级别越高记录的信息越少。

    生产场景一般是 warn | error | crit 这三个级别之一

注意:不要配置info等级较低的级别,会带来大量的磁盘I/O消耗。


error_log 参数的标签段位置:main, http, server, location

参考资料:http://nginx.org/en/docs/ngx_core_module.html#error_log


Nginx配置错误日志过程介绍

(1)插入error_log语句


vi conf/vhost/www.abc.com.conf

#vi编辑虚拟主机配置文件

文件内容:


server {

        access_log /data/log/www;

        listen 80;

        server_name abc.com www.abc.com;

        location / {

                root /data/www/www;

                index index.html index.htm;

        }

        error_log    logs/error_www.abc.com.log    error;

        #新增内容↑

}

(2)重启 Nginx 服务 或 重新加载配置

nginx restart 

nginx reload


(3)查看错误日志文件

ll logs/error_www.abc.com.log

-rw-r--r-- 1 root root 2305 Jun 13 18:25 logs/error_www.abc.com.log

查看是否生产该文件,生成该文件则配置成功。


最后要切割日志,防止日志太大,也弄不清楚是哪天的,增加分析难度:

http://www.phpriji.cn/blog/detail/20181126134636fqzbnz.html

参考资料
https://www.cnblogs.com/czlun/articles/7010601.html
http://www.phpriji.cn/blog/detail/20181126134636fqzbnz.html
phpriji.cn | 网站地图 | 沪ICP备17015433号-1