千家信息网

Nginx访问日志(access_log)配置及信息详解

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,Nginx访问日志(access_log)配置及信息详解通过访问日志,可以知晓用户的地址,网站的哪些部分最受欢迎,用户的浏览时间,对大多数用户用的的浏览器做出针对性优化。Nginx访问日志(acces
千家信息网最后更新 2025年01月31日Nginx访问日志(access_log)配置及信息详解

Nginx访问日志(access_log)配置及信息详解

通过访问日志,可以知晓用户的地址,网站的哪些部分最受欢迎,用户的浏览时间,对大多数用户用的的浏览器做出针对性优化。

Nginx访问日志(access_log)介绍

Nginx会把每个用户访问往咱的日志信息记录到指定的日志文件里,供网站管理员分析用户浏览行为等,此功能又 ngx_http_log_module 模块负责。

访问日志参数

Nginx访问日志主要有两个参数控制

log_format #用来定义记录日志的格式(可以定义多种日志格式,取不同名字即可)

access_log #用来指定日至文件的路径及使用的何种日志格式记录日志

lof_format的默认值:

# 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的默认值:

#access_log logs/access.log main;

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

log_format ;

关键字 格式标签 日志格式

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

格式标签:格式标签是给一套日志格式设置一个独特的名字

日志格式:给日志设置格式

log_format格式变量:

$remote_addr #记录访问网站的客户端地址

$remote_user #远程客户端用户名

$time_local #记录访问时间与时区

$request #用户的http请求起始行信息

$status #http状态码,记录请求返回的状态码,例如:200301404

$body_bytes_sent #服务器发送给客户端的响应body字节数

$http_referer #记录此次请求是从哪个连接访问过来的,可以根据该参数进行防盗链设置。

$http_user_agent #记录客户端访问信息,例如:浏览器、手机客户端等

$http_x_forwarded_for #当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置

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

access_log ;

关键字 日志文件 格式标签

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

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

格式标签:给日志文件套用指定的日志格式

其他语法:

access_log off; #关闭access_log,即不记录访问日志

access_log path [format [buffer=size [flush=time]] [if=condition]];

access_log path format gzip[=level] [buffer=size] [flush=time] [if=condition];

access_log syslog:server=address[,parameter=value] [format [if=condition]];

说明:

buffer=size #为存放访问日志的缓冲区大小

flush=time #为缓冲区的日志刷到磁盘的时间

gzip[=level] #表示压缩级别

[if = condition] #表示其他条件

一般场景这些参数都无需配置,极端优化才有可能会考虑这些参数。

lof_format参数的标签段位置:

http

access_log参数的标签段位置:

http, server, location, if in location, limit_except

参考资料:http://nginx.org/en/docs/http/ngx_http_log_module.html

Nginx配置访问日志过程介绍

(1)创建log_format语句

vi conf/nginx.conf

#vi编辑nginx主配置文件,添加标签为mainlog_format格式(http标签内,在所有的server标签内可以调用)

文件内容:

worker_processes 1;

error_log logs/error.log error;

events {

worker_connections 1024;

}

http {

include status.conf;

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

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;

server {

listen 80;

server_name localhost;

rewrite ^/.* http://www.abc.com permanent;

}

include vhost/*.conf;

}

(2)插入access_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;

access_log logs/access_www.abc.com.log main;

#新增内容↑

}

(3)重启服务

确认无误便可重启,操作如下:

nginx -t

#结果显示oksuccess没问题便可重启

nginx -s reload

(4)查看访问日志文件

ll logs/access_www.abc.com.log

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

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


日志 格式 文件 参数 标签 配置 用户 关键 关键字 客户 客户端 语法 服务 浏览 信息 内容 地址 时间 服务器 网站 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 幼儿园学习网络安全过程 计算机三级考试网络技术准备时间 网络安全保护的六防是指什么 android代理服务器 挂赚宝网络技术有限公司电话 网络安全手绘海报学生作品 网络安全技术及应用试题 永康交易软件开发 腾讯互联网金融网络安全报告 硕士研究生转行软件开发值得吗 服务器安装后怎么显示无响应 软件开发行业工资水平 数据库两个表怎么建立联系代码 达梦数据库删数据太久 大众汽车网络安全责任 伊宁市天气预报软件开发 南京市勤德网络技术有限公司 中信银行软件开发社招人力面 软件开发 平均工资 上海web前端软件开发价钱 网络安全薪资待遇 网络安全与道德读本书 山西会计软件开发价格网 大连讯通网络技术有限公司 高青工具软件开发报价 数据库3306是啥协议 网络安全法的发型机构 网络安全达标升级 ssl服务器可能需要更新 qt 图片 数据库
0