Nginx总结(七)Nginx服务器的日志治理及设置
量化投资学习笔记19——回归分析:实操,泰坦尼克号乘客生还机会预测,线性回归方法。
前面讲了怎样设置Nginx虚拟主机,人人能够去这里看看nginx系列文章:
本日要说的是怎样设置Nginx的日记。
日记花样
我们视察Nginx设置文件的server段,能够看到以下相似信息
#access_log logs/host.access.log main;
这说明 该server, 它的接见日记的文件是 logs/host.access.log ,
运用的日记花样是”main”花样.
除了main花样,你能够自定义其他花样.
main花样是什么?
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
main花样是我们定义好一种日记的花样,并起个名字,便于援用。
以上面的例子,main范例的日记,纪录的 remote_addr.... http_x_forwarded_for等选项.
日记内容
日记花样是指纪录哪些选项
默许的日记花样: main
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
如默许的main日记花样,纪录这么几项
长途IP- 长途用户/用户时候 要求要领(如GET/POST) 要求体body长度 referer泉源信息
http-user-agent 用户代办/蜘蛛 ,被转发的要求的原始IP
http_x_forwarded_for 在经由代办时,代办把你的原本IP加在此头信息中,传输你的原始IP
怎样设置日记
1、声明一个新的log_format并定名 mylog
log_format mylog '$remote_addr- "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
2、鄙人面的server/location,我们就能够援用 mylog
在server段中,如许来声明
server { listen 8080; #端口 server_name 192.168.1.204; #域名 location / { root /var/www/html; #根目录 index index.html; access_log logs/access.log mylog; } }
3、Nginx许可针对差别的server做差别的Log ,(有的web服务器不支持,如lighttp)
access_log logs/access_8080.log mylog;
声明log log位置 log花样;
4、检察日记纪录
nginx日记设置完成后,重启,检察日记是不是生成胜利
现实运用
上面的日记设置也只是简朴引见,现实生产环境平常是按日期支解存储的。
详细完成体式格局:shell+定时使命+nginx信号治理,完成日记按日期存储
剖析思绪
凌晨00:00:01,把昨天的日记重定名,放在响应的目录下。
再USR1信息号掌握nginx从新生成新的日记文件。
完成
1、增添按日期备份日记的剧本
详细剧本以下:
#!/bin/bash base_path='/usr/local/nginx/logs' log_path=$(date -d yesterday +"%Y%m") day=$(date -d yesterday +"%d") mkdir -p $base_path/$log_path mv $base_path/access.log $base_path/$log_path/access_$day.log #echo $base_path/$log_path/access_$day.log kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
以上脚原本着互联网,人人进修参照下即可。
2、增添定时使命
01 00 * * * /xxx/path/b.sh 天天0时1分(发起在02-04点之间,体系负载小)
末了
以上,就把Nginx日记设置引见完了,是不是是很简朴的。
【自制操作系统09】中断的代码实现