文章目录
一、ngxin日志分割
nginx自身不具备日志分割处理的功能,但可以通过nginx信号控制功能的脚本实现日志的自动分割,通过Linux的计划任务crontab周期性地进行日志分割
实现步骤
- 一、创建脚本
vim /opt/nginx_log_cut.sh
#!/bin/bash
#Filename:nginx_log_cut.sh
d=$(date -d "-1 day" "+%Y%m%d")
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path
mv /usr/local/nginx/logs/access.log ${logs_path}/access.log-$d
kill -HUP $(cat $pid_path)
find $logs_path -mtime +30 | xargs rm -rf
date -d “-1 day” “+%Y%m%d” 表示前一天的时间
kill -HUP $(cat $pid_path) 表示重载服务
- 二、给予权限,并执行脚本
[root@www opt]# chmod +x nginx_log_cut.sh
[root@www opt]# ./nginx
- 三、查看分割的日志
[root@www opt]# ls /var/log/nginx/
access.log-20210623
[root@www opt]#
- 四、修改时间再次执行脚本
[root@www opt]# date -s 20210625
2021年 06月 25日 星期五 00:00:00 CST
[root@www opt]# ./nginx_log_cut.sh
[root@www opt]# ls /var/log/nginx/
access.log-20210623 access.log-20210624
[root@www opt]#
- 五、设置定时任务
[root@www opt]# crontab -e
0 1 * * * /opt/nginx_log_cut.sh
二、优化
2.1隐藏版本
两种方式:① 修改配置文件法 ② 修改源码法
2.1.1、修改配置文件法
- 在nginx主配置文件内添加 server_tokens off; 此内容,表示关闭版本号
[root@www opt]# vim /usr/local/nginx/conf/nginx.conf
17 http {
18 include mime.types;
19 default_type application/octet-stream;
20 server_tokens off;
- 重启服务,查看版本号,使用crul -I 命令查看版本号
[root@www opt]# curl -I 192.168.177.111
HTTP/1.1 200 OK
Server: nginx/1.15.9 //可以看到版本号
Date: Thu, 24 Jun 2021 16:21:44 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 24
Last-Modified: Thu, 24 Jun 2021 05:22:09 GMT
Connection: keep-alive
ETag: