Nginx优化---日志分割
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,概述随着Nginx运行时间增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注Nginx日志文件太大的日志文件对监控是-一个大灾难就需要定期进行日志文件的切割。Nginx自身不具备日志分割
千家信息网最后更新 2026年11月03日Nginx优化---日志分割
概述
随着Nginx运行时间增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注Nginx日志文件太大的日志文件对监控是-一个大灾难就需要定期进行日志文件的切割。
Nginx自身不具备日志分割处理的功能,但可以通过Nginx信号控制功能的脚本实现日志的自动切割,并通过Linux的计划任务周期性地进行日志切割。
实验步骤
一、编译安装Nginx服务
第一步:远程获取Windows上的源码包,并挂载到Linux上
[root@localhost ~]# smbclient -L //192.168.235.1Enter SAMBA\root's password: Sharename Type Comment--------- ---- -------LNMP Disk [root@localhost ~]# mkdir /abc[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abcPassword for root@//192.168.235.1/LNMP: [root@localhost ~]# ls /abcDiscuz_X3.4_SC_UTF8.zip nginx-1.12.0.tar.gz php-7.1.10.tar.bz2mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz php-7.1.20.tar.gz第二步:解压源码包
[root@localhost ~]# cd /abc[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt[root@localhost abc]# ls /optnginx-1.12.0 rh第三步:下载安装编译组件包
[root@localhost abc]# cd /opt[root@localhost opt]# yum install -y \> gcc \ //C语言> gcc-c++ \ //c++语言> pcre-devel \ //pcre语言工具> zlib-devel //压缩函数库第四步:创建程序用户并配置Nginx服务相关组件
[root@localhost opt]# useradd -M -s /sbin/nologin nginx//创建程序用户nginx,并限定其不可登录终端[root@localhost opt]# cd nginx-1.12.0/[root@localhost nginx-1.12.0]# ./configure \ //配置nginx> --prefix=//usr/local/nginx \ //指定安装路径 > --user=nginx \//指定用户名> --group=nginx \//指定用户所属组> --with-http_stub_status_module//安装状态统计模块第五步:编译与安装Nginx
[root@localhost nginx-1.12.0]# make && make install第六步:优化Nginx服务启动脚本,并建立命令软连接
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建nginx服务命令软链接到系统命令[root@localhost nginx-1.12.0]# systemctl stop firewalld.service //关闭防火墙[root@localhost nginx-1.12.0]# setenforce 0//关闭增强型安全功能[root@localhost nginx-1.12.0]# nginx //输入nginx 开启服务[root@localhost nginx-1.12.0]# netstat -ntap | grep 80 //查看服务的80 端口,显示已开启tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7520/nginx: master 第七步:systemctl管理nginx脚本
[root@localhost ~]# vim /lib/systemd/system/nginx.service ##创建配置文件[Unit]Description=nginx ##描述After=network.target ##描述服务类型[Service]Type=forking ##后台运行形式PIDFile=/usr/local/nginx/logs/nginx.pid ##PID文件位置ExecStart=/usr/local/nginx/sbin/nginx ##启动服务ExecReload=/usr/bin/kill -s HUP $MAINPID ##根据PID重载配置ExecStop=/usr/bin/kill -s QUIT $MAINPID ##根据PID终止进程PrivateTmp=true[Install]WantedBy=multi-user.target[root@localhost ~]# chmod 754 /lib/systemd/system/nginx.service ##设置执行权限[root@localhost ~]# systemctl stop nginx.service ##关闭nginx [root@localhost ~]# systemctl start nginx.service ##开启二、编写脚本进行日志分割
[root@localhost nginx-1.12.0]# vim fengge.sh#!/bin/bash#Filename:fengge.sh##描述信息d=$(date -d "-1 day" "+%Y%m%d" )##显示系统一天前的时间,并生成一个日期字符串,如"2019.11.11"logs_path="/var/log/nginx"##日志分割后存放路径pid_path="/usr/local/nginx/logs/nginx.pid"##Nginx的进程号文件[ -d $logs_path ] || mkdir -p $logs_path##判断是否有认真的存放路径,如不存在则创建该路径mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d##移出原有路径下的访问日志生成到创建的路径下,并以日期命名生成后的日志文件kill -USR1 $(cat $pid_path)##结束此前的进程号,用以生成新的进程号find $logs_path -mtime +30 | xargs rm -rf##寻找路径下30天前的文件并删除,xargs用于将前面命令的处理结果作为管道符号后的命令的参数[root@localhost nginx-1.12.0]# chmod +x fengge.sh ##授予脚本执行权限[root@localhost nginx-1.12.0]# ls /var/log/nginxtest.com-access.log-20191112##查看指定路径下生成的的日志分割文件[root@localhost nginx-1.12.0]# ls /usr/local/nginx/logsaccess.log error.log nginx.pid##查看Nginx服务日目录,可见有自动生成了一个access.log日志谢谢阅读!!!
日志
文件
服务
路径
生成
命令
脚本
用户
进程
配置
功能
语言
编译
运行
日期
时间
权限
源码
状态
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
湖北九亚互联网络科技有限公司
互联网科技工作委员会主任
互联网科技公司税收优惠
关于新基建和互联网科技
互联网科技宣传片
佰商互联网科技有限公司
人人互联网科技是培训
互联网科技公司做什么
美国互联网前沿科技
互联网科技生活的内容
阿里互联网科技公司
宁夏科技产业互联网案例
上海宁丞科技互联网
区块链结合互联网科技
互联网时代的科技公司
互联网科技股为什么大涨
互联网科技企业商标注意事项
长沙渺峰互联网科技有限公司
中国科技和美国互联网
咖啡豆
上海挚品互联网科技有限公司
互联网科技公司排名
江苏根荣互联网科技
互联网是不是新科技
科技企业和互联网企业
互联网科技未来
互联网相关科技技术
全球科技与互联网公司市值变化
国产互联网科技公司