nginx自定义日志格式

nginx日志格式的设计

根据开发要求我们要在nginx的日志中打印一些特殊信息,所以必须自定义一些日志,

#设置user_id的默认值

set $user_id "0";

#设置user_kind的默认值

set $user_kind "-";

#设置uuid的默认值

set $uuid "_";

www.2cto.com

if ( $http_cookie ~* "user_id=([0-9]*)" ){

set $user_id $1;

}

if ( $http_cookie ~* "user_kind=([0-9]*)" ){

set $user_kind $1;

}  www.2cto.com

if ( $http_cookie ~* "_uuid=([A-Za-z0-9 ]*)" ){

set $uuid $1;

}

nginx中location模块的详细参数介绍

Nginx的Location可以有以下几个匹配:

1. =   严格匹配这个查询。如果找到,停止搜索。

2. ^~ 匹配路径的前缀,如果找到,停止搜索。

3. ~   为区分大小写的正则匹配

4. ~* 为不区分大小写匹配

5.!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配

* -f和!-f用来判断是否存在文件

* -d和!-d用来判断是否存在目录

* -e和!-e用来判断是否存在文件或目录

* -x和!-x用来判断文件是否可执行

www.2cto.com

一些可用的全局变量

$args

$content_length

$content_type

$document_root

$document_uri

$host

$http_user_agent

$http_cookie

$limit_rate

$request_body_file

$request_method

$remote_addr

$remote_port

$remote_user

$request_filename

$request_uri

$query_string

$scheme

$server_protocol

$server_addr

$server_name

$server_port

$uri

www.2cto.com

rewrite后面的flag可以是:

last

break

redirect

permanent

proxy_pass http://localhost:80;

proxy_set_header Host $host;

可以自动改变转发以后的域名信息

时间: 2024-10-11 12:55:22

nginx自定义日志格式的相关文章

Nginx配置日志格式记录cookie

Nginx配置日志格式记录cookie1. 一般用来做UV统计,或者获取用户token等. 配置方式:  在nginx的配置文件中有个变量:$http_cookie来获取cookie的信息.配置方式很简单,只需要在nginx配置文件的http段,新添加一个log_format就可以了:http{log_format  hehe  '$remote_addr - $remote_user [$time_local] "$request" '               '$status

nginx基础日志格式

nginx基础日志格式log_format main '$remote_addr $remote_user [$time_local] "$request" $request_time''$status $body_bytes_sent "$http_referer" ''$http_user_agent $http_x_forwarded_for $request_time $upstream_response_time $upstream_addr $upstr

log_format为Nginx设置日志格式

nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式, 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,一般在nginx的配置文件中日记配置(/usr/local/nginx/conf/nginx.conf). nginx的log_format有很多可选的参数用于指示服务器的活动状态,默认的是:log_format  access  '$remote_addr - $remote_user [$time_local] "$request

nginx之日志格式

nginx的ngx_http_log_module模块是用来定义请求日志格式(编译时添加) 配置段: http 常用log_format指令: $remote_addr, $http_x_forwarded_for 记录客户端IP地址$remote_user 记录客户端用户名称$request 记录请求的URL和HTTP协议$status  记录请求状态$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小: 该变量与Apache模块mod_log_config里的"%B&q

nginx访问日志格式

$time_iso8601 ISO8601标准格式下的本地时间.$time_local 通用日志格式下的本地时间. 我们在配置访问日志的时候,一般都是按照默认格式,但是我觉得$time_local换成$time_iso8601更直观一些. log_format  main  '$remote_addr - $remote_user $time_iso8601  "$request" '                     '$status $body_bytes_sent &quo

python   实现nginx/apache 日志格式的统计脚本

# !/usr/bin/env python # -*- coding:utf8 -*- import sys import re import time import os def main(): months ={ "jan": 1, "Feb": 2, "Mar": 3, "Apr": 4, "May": 5, "Jun": 6, "Jul": 07, &quo

Nginx访问日志 Nginx日志切割 静态文件不记录日志和过期时间

一.Nginx访问日志#vim /usr/local/nginx/conf/nginx.conf日志格式的名字combined_realip可以自定义,例如将它修改为aming,注意,这里定义为什么,后面引用的时候就定义为什么(nginx配置文件看见分号才是这一行结束)#vim /usr/local/nginx/conf/vhost/test.com.conf //增加如下一行#/usr/local/nginx/sbin/nginx -t#/usr/local/nginx/sbin/nginx

logstash 过虑nginx访问日志

标题是不是可以翻译成这样:logstash Filters nginx access log 好了,进入正题,日志管理服务器我用ElasticSearch+LogStash+Kibana+Redis 先说下我的架构: 远程NGINX采集日志数据到REDIS+logstash+elasticsearch+kibana服务器 至于怎么部署,因本人之前用baidu博客写在那上面了,以后有时间把百度的搬过来 好了,这里就先不说部署了,我们直接进入配置正题 在nginx服务器,我们一.先配置nginx的日

Apache用户认证、域名跳转、访问日志格式

11.18 Apache用户认证 注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名. 配置用户认证 编辑虚拟主机配置文件"httpd-vhosts.conf".[[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf--<VirtualHost *:80>DocumentRoot "/data/wwwroot/111.com&qu