IT教程 ·

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日记设置完成后,重启,检察日记是不是生成胜利

Nginx总结(七)Nginx服务器的日志治理及设置 IT教程 第1张

 

 

 

现实运用

上面的日记设置也只是简朴引见,现实生产环境平常是按日期支解存储的。

详细完成体式格局: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】中断的代码实现

参与评论