0
点赞
收藏
分享

微信扫一扫

企业级Nginx增加日志选项

无愠色 2022-02-21 阅读 42

企业级Nginx增加日志选项


日志介绍

目的:将用户的访问信息记录到指定的文件中由ngx_http_log_module模块负责

访问日志参数:


access_log:指定日志文件的路径和使用何种日志格式记录日志

log_format:用来指定日志的格式

可以放置标签段: main,http,server,location


企业级Nginx增加日志选项_sed​​

日志格式

企业级Nginx增加日志选项_nginx_02​​

添加日志:

sed -i '1 i error_log  logs/error.log  error;' /usr/local/nginx/conf/nginx.conf

创建日志路径:

mkdir -p /usr/local/nginx/logs

配置访问日志(使用默认的配置)

1. 配置log_format(在http中配置)

sed -n '21,24p' nginx.conf.default

取出信息后添加都nginx.conf的http模块中(server之前)

企业级Nginx增加日志选项_html_03​​

2. 配置access_log(最好在虚拟主机里面配置,便于统计)

默认配置:#access_log  logs/access.log  main;

企业级Nginx增加日志选项_sed_04​​

放置位置:http  server location

本机配置:在单独的虚拟域名的location后配置(注意封号)

server {
listen 80;
server_name www.etiantian.com etiantian.com;
location / {
root html/etiantian;
index index.html index.htm;
}
access_log logs/access_etiantian.log main;
} # main 表示全局,所有的访问虚拟主机etianitian的都会打入

3. 配置windows的hosts解析

C:\Windows\System32\drivers\etc

企业级Nginx增加日志选项_nginx_05​​

4. 测试结果

浏览器访问www.etiantian.com【注意,真实环境也有此IP,本次仅作实验用,记得恢复hosts文件】

企业级Nginx增加日志选项_sed_06​​

关于日志的深入研究

  1. 高并发可以写入缓存

access_log log/access_baobaotao.log main gzip buffer=32k flush=5s;

  2. nginx访问日志的轮询处理(日志按天分割)   -->推荐

缘由:指定的访问日志长时间写入会导致文件过大而无法分析,可以使用切割脚本

#!/bin/sh
Dateformat=`date +%Y%m%d`
Basedir="/usr/local/nginx"
Nginxlogdir="$Basedir/logs"
Logname="access_etiantian"
[ -d $Nginxlogdir ] && cd $Nginxlogdir||exit 1
[ -f ${Logname}.log ] || exit 1
/bin/mv ${Logname}.log ${Dateformat}_${Logname}.log
$Basedir/sbin/nginx -s reload

   3.切割脚本添加到定时任务

crontab –e
00 00 * * * /bin/sh cut_nginx.sh &>/dev/null

关于日志收集的工具

自带:syslog  rsyslog

开源:flume logstash scrible Awstats ELK


作者:​​小a玖拾柒​​

-------------------------------------------

个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~

本文版权归作者【​​小a玖拾柒​​​】,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!



举报

相关推荐

0 条评论