Nginx的日志配置主要涉及以下部分:
- log_format:定义日志格式。
- access_log:定义访问日志的位置和名称。例如,‘/var/log/nginx/access.log’。
- error_log:定义错误日志的位置和名称。例如,‘/var/log/nginx/error.log’。
- gzip:启用gzip压缩。
- gzip_disable:禁用gzip压缩,针对特定的内容类型。
此外,还有以下配置选项:
- open_log_file_cache:缓存打开的日志文件,减少文件打开次数,提高性能。
- log_not_found:记录404错误。
- log_subrequest:记录子请求。
- rewrite_log:记录重写日志。
- error_log:错误日志级别和位置。
Nginx主要的日志有两个:访问日志access_log和错误日志error_log
access_log日志配置全局生效
- 全局生效在/etc/nginx/nginx.conf的http配置
vi /etc/nginx/nginx.conf
http {
#日志配置格式:
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 /var/log/nginx/access.log main;
#如果关闭日志需注释日志路径,添加以下参数access_log off;
#access_log off;
}
#解析:
$remote_addr 记录访问网站客户端的ip地址,可能拿到的是反向代理的ip地址
$remote_user 远程客户端用户名称
$time_local 访问的时间与时区
$request 用户的http请求的起始行信息(请求方法:http协议)
$status 记录http状态码,既请求返回的状态,例如200,404,502等
$body_bytes_sent 服务器发给客户端的相应body字节数
$http_referer 此次请求时从哪个连接访问过来的,可以根据referer进行防盗连接设置
$http_user_agent 记录客户端方法信息,如浏览器、手机客户端等
$http_x_forwarded_for 当前端有代理服务器时,这是web节点结论客户端地址的配置,此参数生效的前提是代理服务器
access_log日志配置局部生效
- 局部生效在/etc/nginx/conf/*.conf的server中配置
vi /etc/nginx/conf.d/huoying.linx.conf
#日志配置名称不可重复main2
log_format main2 '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
access_log /var/log/nginx/access.log main2;
listen 80;
#nginx会匹配http://huoying.linux.cc:80
server_name huoying.linux.cc;
#支持中文
charset uftp-8;
location / {
#根据root参数,填写网页根目录信息
#表示当你访问http://huoying.linux.cc:80时会自动来到这个目录下
root /www/huoying/;
#默认找/www/huoying/index.html文件
index CDP.html;
}
}
error_log错误日志配置
- 错误日志,可以在http中定义,也可以在server中定义
vi /etc/nginx/conf.d/*.conf
server {
access_log /var/log/nginx/access.log main2;
error_log /var/log/nginx/error.log error;
#其中error为日志级别,日志级别从大到小分为debug, info, notice, warn, error, crit ,默认是crit
}