作为PHP程序员你要知道的另外一种日志

yipeiwu_com6年前PHP代码库


前言

本来准备讲解nginx和apache的日志的,但是个人不太推荐apache(纯属个人爱好),这里就不介绍apache的日志了。

作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。

配置文件

nginx分access_log和error_log两种日志

设置需要在nginx.conf中,默认通过源码包编译安装nginx目录应在

/usr/local/nginx

目录下,如果你通过yum或者其他方式安装,不清楚或不知道nginx具体安装目录,可以使用

find / -name nginx.conf

or

nginx -V | grep prefix
-------------
nginx version: nginx/1.13.9
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module

开启访问日志

如果是你源码包默认安装的,打开路径如下

vim /usr/local/nginx/nginx.conf

找到如下内容

http {
 include mime.types;
 default_type application/octet-stream;

 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
   '$status $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "$http_x_forwarded_for"';

 access_log logs/access.log main;
 
 ...
}

将log_format到access_log的注释打开即可,log_format可定义nginx的日志规格。

log_format默认规格参数表

名称 注解
$remote_addr 客户端/用户的IP地址
$time_local 访问时间
$request 请求方式 + 请求地址
$status 请求状态码 与HTTP状态码一致
$body_bytes_sent 请求的地址大小 以bytes格式计算
$http_referer 请求来源,从什么地方访问的
$http_user_agent 用户信息(浏览器信息)
$http_x_forwarded_for 转发IP地址

开启错误日志

如果是你源码包默认安装的,打开路径如下

vim /usr/local/nginx/nginx.conf

找到如下内容

error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

将注解删除即可,你可以将不同的错误类型分开存储如

error_log logs/error.log notice;

notice既为错误类型,不写则是全部。

致谢

感谢你看到这里,日志操作与分析的相关文章后面我还会写一些,希望可以帮助到你。谢谢

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【宜配屋www.yipeiwu.com】的支持。

相关文章

ThinkPHP 防止表单重复提交的方法

ThinkPHP 防止表单重复提交的方法

然而有一种情况,是防止不了的: 用户提交表单以后,点击浏览器后退按钮返回表单页面,这个时候浏览器会直接从缓存中取出页面,因此token验证一定是通不过的。 网上有许多种办法可以绕过这个...

PHP7扩展开发之hello word实现方法详解

本文实例讲述了PHP7扩展开发之hello word实现方法。分享给大家供大家参考,具体如下: 这里是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基...

PHP向浏览器输出内容的4个函数总结

复制代码 代码如下: <!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w...

Android ProgressBar进度条和ProgressDialog进度框的展示DEMO

Android ProgressBar进度条和ProgressDialog进度框的展示DEMO

在做手机开发时,经常碰到一些比较耗时的操作,这个时候进度条就开始派上用场了。这个demo展示了ProgressBar进度条和ProgressDialog进度框。一、ProgressDia...

PHP时间函数使用详解

PHP开发中,关于时间函数的使用基本上可以说是无处不在,而PHP中操作时间的方法也很多,比如PHP时间戳、日期与时间戳之间的转换、获取当前日期、当前时间之前或之后的时间等等,下面我们详细...