Nginx日志切割
检查Nginx logs目录权限
nginx日志切割,这里使用的是默认安装的ngx_http_map_module插件
[root@shs-nginx01 nginx]# ls -l
total 36
drwx------. 2 nobody root 4096 Jul 15 13:50 client_body_temp
drwxr-xr-x. 4 root root 4096 Jul 15 11:33 conf
drwx------. 2 nobody root 4096 Aug 28 2015 fastcgi_temp
drwxr-xr-x. 8 root root 4096 Sep 7 2021 html
drwxr-xr-x. 2 nobody root 4096 Jul 15 12:18 logs
drwx------. 12 nobody root 4096 Sep 8 2015 proxy_temp
drwxr-xr-x. 2 root root 4096 Nov 19 2019 sbin
drwx------. 2 nobody root 4096 Aug 28 2015 scgi_temp
drwx------. 2 nobody root 4096 Aug 28 2015 uwsgi_temp
与Nginx进程用户要一致
[root@shs-nginx01 nginx]# ps -ef|grep nginx
nobody 11353 123559 0 11:43 ? 00:00:05 nginx: worker process
nobody 11354 123559 0 11:43 ? 00:00:06 nginx: worker process
这里看到logs目录所属权限是"nobody"与Nginx进程用户的所属权限一致,这样才OK
如果不一致,则需要进行授权给Nginx进程用户,这里是"nobdy",所以授权给"nobdy",授权命令如下
chown -R nobody logs
修改nginx.conf配置文件,添加切割参数
vim /usr/local/nginx/conf/nginx.conf
在nginx.conf的http中添加如下参数:
map $time_iso8601 $logdate {
default 'date-not-found';
'~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;
}
然后在相应的日志输出定义处添加参数$logdate
access_log logs/app-web-$logdate.log main;
检测nginx.conf,及生效
nginx -t
nginx -s reload
去访问一下nginx地址,再去nginx logs目录下去看,会发现日志切割生效
引用Reference
CentOS8搭建nfs服务
Kubernetes 1.25.4版本安装
kubeasz安装kubernetes1.25.5
k8s一键安装redis单机版
k8s一键安装mysql8单机版
k8s部署springboot应用
Docker安装及学习
Docker制作springboot运行应用镜像
Docker制作Java8环境镜像
Docker安装Mysql5.7.31
Docker安装Mysql8.1.0
Elasticsearch单机版本安装
Elasticsearch集群安装
ELK安装
Docker安装ELK
zookeeper集群安装
Nginx日志切割
RabbitMQ集群安装
springboot集成prometheus+grafana
windows11安装android应用