nginx日志相关优化安全
一、编写脚本实现nginx access日志轮询
配置日志切割脚本,如下:
[root@nginx shell]# cat cut_nginx_log.sh
#!/bin/bash
#Author:Mr.Ding
#Created Time:2018-08-27 07:19:30
#Name:cut_nginx_log.sh
#Description:
Dateformat=`date +%Y%m%d`
Basedir="/application/nginx"
Nginxlogdir="$Basedir/logs"
Logname="access_dmtest1"
[ -d $Nginxlogdir ] && cd $Nginxlogdir || exit 1
[ -f ${Logname}.log ] || exit 1
/bin/mv ${Logname}.log ${Dateformat}_${Logname}.log #将日志按日期改成前一天的名称;
#$Basedir/sbin/nginx -s reload
systemctl reload nginx #重新加载nginx使得触发从新生成访问日志文件;
脚本实现切割nginx的思想为将正在写入的nginx日志(access_dmtest1.log)改名为带日期的格式文件(20180827_access_dmtest1.log),然后平滑重新加载nginx,生成新的nginx日志(access_dmtest1.log)。
把脚本加入计划任务:
[root@nginx shell]# cat >>/var/spool/cron/root << EOF
> #cut ngixn access log by dm 2018-8-27
> 00 00 * * * /bin/sh /server/scripts/shell/cut_nginx_log.sh >/dev/null 2&1
> EOF [root@nginx shell]# crontab -l
#time sync by dm at 2018-8-20
*/5 * * * * /usr/sbin/ntpdate -u ntp.api.bz >/dev/null 2>$1
#cut ngixn access log by dm 2018-8-27
00 00 * * * /bin/sh /server/scripts/shell/cut_nginx_log.sh >/dev/null 2&1
最终日志切割效果如下:
[root@nginx logs]# ll
总用量 32
-rw-r--r-- 1 root root 0 8月 27 07:35 20180827_access_dmtest1.log
-rw-r--r-- 1 root root 0 8月 27 07:35 access_dmtest1.log
-rw-r--r-- 1 root root 14076 8月 27 04:41 access.log
-rw-r--r-- 1 root root 10098 8月 27 06:36 error.log
-rw-r--r-- 1 root root 5 8月 26 21:56 nginx.pid
二、不记录不需要的访问日志
在实际工作中,对于负载均衡器健康节点检查或某些特定文件(比如图片、js、css)的日志,一般不需要记录下来,因为在统计PV是是按照页面计算的,而且日志写入太频繁会消耗大量磁盘I/O,降低服务的性能。
具体配置方法如下:
在server标签内添加如下内容: location ~ .*\.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)$ {
access_log off;
}
三、访问日志的权限设置
假如日志目录为/application/nginx/logs/,者授权方法如下:
[root@nginx nginx]# chown -R root.root /application/nginx/logs/
[root@nginx nginx]# chmod -R 700 /application/nginx/logs/ [root@nginx nginx]# ll /application/nginx/logs/
总用量 8592
-rwx------ 1 root root 8779792 9月 1 01:15 access.log
-rwx------ 1 root root 1786 9月 2 08:36 dmtest.log
-rwx------ 1 root root 6785 9月 2 08:36 error.log
-rwx------ 1 root root 4 9月 2 13:25 nginx.pid
nginx日志相关优化安全的更多相关文章
- nginx日志相关运维操作记录
在分析服务器运行情况和业务数据时,nginx日志是非常可靠的数据来源,而掌握常用的nginx日志分析命令的应用技巧则有着事半功倍的作用,可以快速进行定位和统计. 1)Nginx日志的标准格式(可参考: ...
- nginx 日志相关配置总结
设置位于nginx.conf: log_format main '$server_name $remote_addr - $remote_user [$time_local] &q ...
- nginx日志相关的查询
IP相关统计 统计IP访问量(独立ip访问数量) awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时间段的IP访问量(4-5点) gr ...
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
- Nginx的性能优化方案
nginx的优化 . gzip压缩优化 . expires缓存有还 . 网络IO事件模型优化 . 隐藏软件名称和版本号 . 防盗链优化 . 禁止恶意域名解析 . 禁止通过IP地址访问网站 . HTTP ...
- Nginx 日志分享
Nginx 日志对于大部分人来说是个未被发掘的宝藏,总结之前做某日志分析系统的经验,和大家分享一下 Nginx 日志的纯手工分析方式. Nginx 日志相关配置有 2 个地方:access_log 和 ...
- nginx(四)初识nginx日志文件
nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定 ...
- nginx日志配置[转]
* * * sh /home/zyf/sh/cut_nginx_log.sh 这样就每天的0点1分把nginx日志重命名为日期格式,并重新生成今天的新日志文件。 日志对于统计排错来说非常有利的。本文 ...
- nginx日志配置
nginx日志配置 http://www.ttlsa.com/linux/the-nginx-log-configuration/ 日志对于统计排错来说非常有利的.本文总结了nginx日志相关的配置如 ...
随机推荐
- 13.组合查询--SQL
利用UNION操作符将多条SELECT语句组合成一个结果集. 主要有两种情况需要使用组合查询: 在一个查询中从不同的表返回结构数据: 对一个表执行多个查询,按一个查询返回数据. UNION规则 UNI ...
- 手机APP开发(安卓、IOS)logo图标在线生成工具上线啦。
网址:http://www.bejson.com/ui/create_logo/ 您只需要上传一张2M以内的jpg或png图片.然后输入验证码点击提交后,会自动的处理并生成一个压缩包下载. 目前支持2 ...
- 关于MySQL索引的一点小见解
索引: 优缺点: 1.用的合理可以提高查询效率 2.建立过多索引会占用物理和数据空间,同时也会降低插入和更新效率 需不需要建立索引: 1.一般表的数据低于2000条就不用建立索引了,超过2000条酌情 ...
- Win10+VirtualBox+Openstack Mitaka
首先VirtualBox安装的话,没有什么可演示的,去官网(https://www.virtualbox.org/wiki/Downloads)下载,或者可以去(https://www.virtual ...
- 报错:Could not reserve enough space for object heap error
windows命令行运行某个命令时出现: 解决办法: 设置开始->控制面板->系统和安全->系统->高级系统设置->环境变量->系统变量->新建: 变量名: ...
- vue or react mvvm里的文字上下滚动
1.jQuery 时候实现 上下滚动很简单,基本上一个animateTop就可以了 2. vue等MVVM就有些麻烦了,因为不推荐操作DOM,专注于数据 我们可以使用 css3 transition: ...
- c#基础值类和引用类型
//值类型:int double char decimal bool enum struct //引用类型:string 数组 自定义类 集合 object 接口 值传递传递的值得本身 引用传递传递的 ...
- AnyCAD OpenSource 版本下载和编译
下载: SVN下载地址:https://anycad.svn.codeplex.com/svn 或者直接下载:http://anycad.codeplex.com/SourceControl/late ...
- JFileChooser 打开文件选择(一)
import javax.swing.JFileChooser; import javax.swing.filechooser.FileNameExtensionFilter; public clas ...
- Java基础语法(数组)
第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...