小知识:详解Nginx服务器中的日志相关配置

nginx 日志相关指令主要有两条,

log_format,用来设置日志格式,

access_log,用来指定日志文件的存放路径、格式和缓存大小

log_format 格式 log_format name( 格式名字) 格式样式(即想要得到什么样的日志内容)

默认的示例:

?
1
2
3
log_format main $remote_addr – $remote_user [$time_local] “$request”
$status $body_bytes_s ent “$http_referer”
“$http_user_agent” “$http_x_forwarded_for”]

#注释:

$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;

$remote_user :用来记录客户端用户名称;

$time_local : 用来记录访问时间与时区;

$request : 用来记录请求的url与http协议;

$status : 用来记录请求状态;成功是200,

$body_bytes_s ent :记录发送给客户端文件主体内容大小;

$http_referer :用来记录从那个页面链接访问过来的;

$http_user_agent :记录客户机,浏览器的相关信息;

通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址;

 
?
1
2
3
log_format mylogformat $http_x_forwarded_for- $remote_user [$time_local]
“$request” $status $body_bytes_s ent
“$http_referer” “$http_user_agent” ;

用access_log指令日志文件存放路径;

用了log_format 指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径;

access_log path(存放路径) format (自定义日志名称)
?
1
2
3
4
5
6
7
8
#示例:
access_log logs/access.log main;
#我们用log_format 定义了一个mylogformat的日志 我们可以写成这样
access_log logs/access.log mylogformat;
#如果不想启用日志 :
access_log off ;

在定义日志目录中要注意的是,nginx进程设置的用户和组必须有对该路径 创建文件的权限,假设nginx的usr指令设置的用户名和用户组都是www,而logs目录的用户名和组是root,那么日志文件将无法被创建;

Nginx日志切割脚本

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env python
import datetime,os,sys,shutil
log_path = /alidata/log/nginx/access/
log_file = www.wpython.com.log
yesterday = (datetime.datetime.now() – datetime.timedelta(days = 1))
try:
os.makedirs(log_path + yesterday.strftime(%Y) + os.sep + \
yesterday.strftime(%m))
except OSError,e:
print
print e
sys.exit()
shutil.move(log_path + log_file,log_path \
+ yesterday.strftime(%Y) + os.sep \
+ yesterday.strftime(%m) + os.sep \
+ log_file + _ + yesterday.strftime(%Y%m%d) + .log)
os.popen(“sudo kill -USR1 `cat /alidata/server/nginx/logs/nginx.pid`”)
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux系统下无法卸载挂载的目录怎么办?

2023-5-4 2:28:50

建站知识

小知识:从Windows迁移到Linux:Linux真的难以使用吗?

2023-5-4 2:37:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索