Nginx优化——日志分割
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,日志分割一、企业服务器中的日志文件过大会带来下面的问题:1、查询过大的日志文件对于开发和运维十分不方便,特别是加班人很累的情况下更加雪上加霜;2、很久以前的日志文件几乎没有价值,但是手工清理又太过繁琐
千家信息网最后更新 2025年02月07日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.gz
2、解压缩包
[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
3、安装编译组件包
[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 install
6、优化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安全错误
数据库的锁怎样保障安全
冬季网络安全教育主题班会图片
如何进入用友数据库
自建服务器机房
java 数据库查看表
怪物猎人3 数据库软件
factive数据库可以下载吗
交警网络安全工作会议
数据库两张表数据相同
软件开发也是我们团队的优势
亚洲思维导图软件开发
网络安全团员地
吉林开源网络技术有限公司
服务器怎么关闭安全模式
南京视频会议软件开发
进气服务器
网络安全教育内容家长会
网络安全模式为什么禁音
软件违反网络安全法
T丨S服务器
服务器删除的文件怎么恢复
网络安全视频中央电视台
网络技术类试卷
多福软件开发
数据库 树型
如何打开msg0数据库文件
广东上门软件开发
方舟怎么看服务器维护
防火墙数据库截断字符串
灵丘智能化网络安全
xshell6如何连接云服务器