Nginx优化---日志分割
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,概述随着Nginx运行时间增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注Nginx日志文件太大的日志文件对监控是-一个大灾难就需要定期进行日志文件的切割。Nginx自身不具备日志分割
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
网络安全专业大专
5G网络技术有哪几个国家
网站服务器可以同时做公众号吗
广东曙光服务器虚拟化建设
服务器ip地址确认
java获取数据库行数据
数据库审计与态势感知
游戏中可以换服务器吗
软件开发cme
专科计算机网络技术出来干嘛
岫岩软件开发公司
网络安全的手的手抄报
软件开发人员的年纪
ee计算机软件开发
嘉兴软件开发驻场代办
山西智能养老软件开发专业制作
北京软件开发驻场平台
无线网络如何保证网络安全
原神有几个服务器国际服
mc服务器招聘管理
网络安全动员部署会议
集贤软件开发系统在线咨询
斯维尔 数据库
金管家互联网科技公司
软件开发商成本
网络安全两类密码体制
网络安全适配器
数据库连不上怎么办
上杭县国家网络安全宣传周
济南淘维网络技术