Nginx优化——日志分割
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,日志分割一、企业服务器中的日志文件过大会带来下面的问题:1、查询过大的日志文件对于开发和运维十分不方便,特别是加班人很累的情况下更加雪上加霜;2、很久以前的日志文件几乎没有价值,但是手工清理又太过繁琐
千家信息网最后更新 2025年12月02日Nginx优化——日志分割
日志分割
一、企业服务器中的日志文件过大会带来下面的问题:
1、查询过大的日志文件对于开发和运维十分不方便,特别是加班人很累的情况下更加雪上加霜;
2、很久以前的日志文件几乎没有价值,但是手工清理又太过繁琐。
这时候就需要一种解决方案可以自动来做日志分割,分割后的日志不仅"干净",也便于实现日志定时清理。
实验
二、编译安装Nginx服务
1、远程获取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.gz2、解压缩包
[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 rh3、安装编译组件包
[root@localhost abc]# cd /opt[root@localhost opt]# yum install -y \> gcc \ //C语言> gcc-c++ \ //c++语言> pcre-devel \ //pcre语言工具> zlib-devel //压缩函数库4、创建程序用户并配置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//安装状态统计模块5、编译与安装
[root@localhost nginx-1.12.0]# make && make install6、优化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 7、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 ##开启8、编写日志分割脚本
[root@localhost nginx-1.12.0]# vim fenge.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天之前(不包括30天)的文件并删除,xargs用于将前面命令的处理结果作为管道符号后的命令的参数[root@localhost nginx-1.12.0]# chmod +x fenge.sh ##授予脚本执行权限[root@localhost nginx-1.12.0]# ./ fenge.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安全错误
数据库的锁怎样保障安全
.db 是什么数据库
深圳正义网络技术
杀掉数据库监听
深圳数据库维护公司
腾讯服务器能同时使用吗
fanbook怎么退出服务器
dnf手游压爆服务器下载
数据库汉字不能输入
13亿qq老密数据库
贵州推广软件开发联系方式
为何有网络还提示无法连接服务器
计算机 网络技术
淘宝上的服务器在哪
网络安全实验室题脚本关
软件国产化数据库适配开发
软件开发计划 什么时间出
网络安全销售难点在哪
服务器市场内部竞争强度
文件服务器审计软件
apifox怎么读取数据库
北京文档软件开发服务介绍
大连2年软件开发工资
提升网络技术水平的措施
模具企业名录数据库
excel数据库求和技巧大全
rna数据库使用教程
迭代式软件开发方法
学软件开发排名榜
易语言数据库备份进度条
韩国网络安全发展