Nginx优化---日志分割
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,概述随着Nginx运行时间增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注Nginx日志文件太大的日志文件对监控是-一个大灾难就需要定期进行日志文件的切割。Nginx自身不具备日志分割
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
当前网络技术的应用
咪莫攻略服务器怎么修
数据库查看库命令
昆山数据网络技术包括什么
数据库表行数选取关键字
山东智能边缘计算服务器供应商
远程服务器ssh的原理
浙江特色软件开发创新服务
数据库技术百度百科
WINAMP下载软件开发
如何进行数据库中的表备份
北京网络安全中职学校
无错小说软件开发
辽宁专业软件开发哪里好
公司内部服务器是怎样的
火箭视频软件开发
微信支付数据库能保存多长时间
世界前十大网络安全公司
四海网络技术学校
软件开发方向划分
数据库时间相减
网络技术中的关键工作是
数据库根据日志
网信办网络安全讲座心得
设计logo免费软件开发
兰格网络技术
烽火科技和能源互联网
工业软件开发学什么
四川工业软件开发哪里好
安卓系统 软件开发过程