12.10 Nginx访问日志;12.11 Nginx日志切割;12.12 静态文件不记录日志和过期时间

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

12.10 Nginx访问日志

1. 编辑...nginx.conf主配置文件,自定义日志格式名称

[root@hao-01 conf]# vim /usr/local/nginx/conf/nginx.conf

更改内容(定义日志格式名字)

log_format hao $remote_addr(日志格式)wKioL1mNVMaiyn8yAABS1tMUrcM313.png

spacer.gif

nginx日志格式:

wKiom1mNVNuAKTREAAB1j7E2FIE250.png

spacer.gif2. 定义test.com虚拟主机配置文件(增加访问日志项):

[root@hao-01 vhost]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容(访问日志,存储位置,格式名称,分号为结束符号)

access_log /tmp/test.com.log hao;wKioL1mNVQ2AxfUeAAAyUTAl5cQ568.png

spacer.gif3. 检测nginx配置文件是否有错?

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -t

4. 重新加载nginx配置文件(非重启!):

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -s reload

5. curl 访问test.com网站地址:

[root@hao-01 ~]# curl -x127.0.0.1:80 test2.com/admin/index.html

6. curl 访问test.com网站地址:

[root@hao-01 ~]# curl -x127.0.0.1:80 test3.com/admin/index.html

7. 查看test.com主机(网站)的访问日志内容:

[root@hao-01 ~]# cat /tmp/test.com.log

spacer.gif

12.11 Nginx日志切割

1. 编写一个日志切割shell脚本

[root@hao-01 ~]# vim /usr/local/sbin/nginx_log_rotate.sh

脚本内容:

#! /bin/bash

d=`date -d "-1 day" +%Y%m%d`

logdir="/tmp/"

nginx_pid="/usr/local/nginx/logs/nginx.pid"

cd $logdir

for log in `ls *.log`

do

    mv $log $log-$d

done

/bin/kill -HUP `cat $nginx_pid`

wKiom1mNVUyBx8UCAAAoPEqI6o4878.pngspacer.gif

2. 执行日志切割shell脚本

[root@hao-01 ~]# sh -x /usr/local/sbin/nginx_log_rotate.sh

3. 查看/tmp/目录下,匹配含有.log文件(这里指日志文件)

[root@hao-01 ~]# ls /tmp/*.log*wKioL1mNVWaQbp-gAAALqxw2AVU660.png

spacer.gif

4. 删除(定期清理老日志)/tmp/目录下,匹配大于10天含有.log-日志文件: [root@hao-01 ~]# find /tmp/ -name *.log-* -type f -mtime +10 |xargs rm

5. 把切割nginx日志脚本加入任务计划设定每天凌晨零点执行一次

[root@hao-01 ~]# crontab -e

wKioL1mNW2Dwwo31AAAWB8XqDaQ025.png

spacer.gif

12.12 静态文件不记录日志和过期时间

1. 编辑test.com虚拟主机配置文件(设定日志过滤静态文件和缓存静态文件时间):  [root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容(日志过滤静态文件和缓存静态文件时间)

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 7d;

access_log off;

}

location ~ .*\.(js|css)$

{

expires 12h;

access_log off;

}

wKiom1mNVb7ifQm5AABL6Rd49ZE590.png

spacer.gif2. 检测nginx配置文件是否有错?

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!):

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -s reload

4. 进入test.com网站目录下:

[root@hao-01 ~]# cd /data/wwwroot/test.com/

5. 创建一些以.jpg .png .js格式静态文件

[root@hao-01 test.com]# touch /data/wwwroot/test.com/1.jpg 2.png 3.js

wKiom1mNXPXB42fwAAASrZ74O_w054.png

spacer.gif6. curl访问 test.com网站下1.jpg静态格式文件

[root@hao-01 test.com]# curl -x127.0.0.1:80 test.com/1.jpg -I

wKiom1mNXNrS6D_aAABEGpQC4dc858.png

7. 查看test.com网站的访问日志,看看是否有记录静态格式文件访问???  [root@hao-01 test.com]# cat /tmp/test.com.log 










本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1955398,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
261 90
|
1月前
|
域名解析 应用服务中间件 网络安全
阿里云个人博客外网访问中断应急指南:从安全组到日志的七步排查法
1. 检查安全组配置:确认阿里云安全组已开放HTTP/HTTPS端口,添加规则允许目标端口(如80/443),授权对象设为`0.0.0.0/0`。 2. 本地防火墙设置:确保服务器防火墙未阻止外部流量,Windows启用入站规则,Linux检查iptables或临时关闭防火墙测试。 3. 验证Web服务状态:检查Apache/Nginx/IIS是否运行并监听所有IP,使用命令行工具确认监听状态。 4. 测试网络连通性:使用外部工具和内网工具测试服务器端口是否开放,排除本地可访问但外网不可的问题。 5. 排查DNS解析:确认域名A记录指向正确公网IP,使用`ping/nslookup`验证解析正
87 2
|
5月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
349 60
|
5月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
436 60
|
4月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
1659 8
|
4月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
399 3
|
5月前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
212 2
|
6月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
7月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
97 2
|
7月前
|
Ubuntu 应用服务中间件 数据库
Nginx配置:阻止非国内IP地址访问的设置方法
此外,出于用户隐私和法律合规性的考虑,应慎重考虑阻止特定国家或地区IP地址的决策。在某些情况下,这可能被视为歧视性或违反当地法律。
444 2

热门文章

最新文章