乐趣区

关于nginx:nginx常用的日志配置

我租了一个服务器搭建了 nginx,发现一个报错,前面我解决了,既然这样话,我就顺便把办法教给你们。

log_format compression '$remote_addr - $remote_user [$time_local]'
                       '"$request" $status $bytes_sent ''"$http_referer""$http_user_agent" "$gzip_ratio"';
access_log /spool/logs/nginx-access.log compression buffer=32k;

留神:
compression 为 log_format 前面的日志款式名称。
这个日志对应的门路对启动 nginx 的用户须要有写权限
nginx 转发 json

log_format json '{"remote_addr":"$remote_addr","remote_user":"$remote_user",'
                       '"request":"$request","status":"$status","remote_user":"$bytes_sent",''"http_referer":"$http_referer","http_user_agent":"$http_user_agent"}';
access_log /spool/logs/nginx-access.log json buffer=32k;

留神:
json 为 log_format 前面的日志款式名称。
这个日志对应的门路对启动 nginx 的用户须要有写权限
好用的变量
变量名称 阐明示例

$arg_name    申请中的 name 参数
$args    申请中的参数
$body_bytes_sent    已发送的音讯体字节数
$content_length    HTTP 申请信息里的 "Content-Length"
$content_type    申请信息里的 "Content-Type"
$host    申请信息中的 "Host",如果申请中没有 Host 行,则等于设置的服务器名
$http_cookie    cookie 信息
$http_referer    援用地址
$http_user_agent    客户端代理信息
$http_via    最初一个拜访服务器的 Ip 地址。$http_x_forwarded_for    相当于网络拜访门路
$is_args    如果申请行带有参数,返回“?”,否则返回空字符串
$pid    worker 过程的 PID
$remote_addr    客户端 IP 地址
$remote_port    客户端端口号
$remote_user    客户端用户名,认证用

request 相干罕用的:
变量名称 阐明示例

$request    用户申请
$request_body    这个变量蕴含申请的次要信息。在应用 proxy_pass 或 fastcgi_pass 指令的 location 中比拟有意义
$request_filename    以后申请的文件路径名,比方 /opt/nginx/www/test.php
$request_method    申请的办法,比方 "GET"、"POST" 等
$request_uri    申请的 URI,带参数

server 相干罕用的:
变量名称 阐明示例

$scheme    所用的协定,比方 http 或者是 https,罕用这个
$server_addr    服务器地址,如果没有用 listen 指明服务器地址,应用这个变量将发动一次零碎调用以获得地址(造成资源节约)
$server_name    申请达到的服务器名
$server_port    申请达到的服务器端口号
$server_protocol    申请的协定版本,“HTTP/1.0"或"HTTP/1.1”$uri    申请的 URI,可能和最后的值有不同,比方通过重定向之类的

如果须要服务器的话,能够后盾分割我

退出移动版