Nginx优化——日志分割
发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,日志分割一、企业服务器中的日志文件过大会带来下面的问题:1、查询过大的日志文件对于开发和运维十分不方便,特别是加班人很累的情况下更加雪上加霜;2、很久以前的日志文件几乎没有价值,但是手工清理又太过繁琐
千家信息网最后更新 2024年10月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.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安全错误
数据库的锁怎样保障安全
学术期刊数据库类型有哪些
如何解决IOT网络安全
临沧上门回收服务器
网站服务器如何数据库
网络安全活动主题是什么
android数据库版本
can协议汽车标定软件开发
我的世界服务器成就
pvp服务器连接超时
北京大数据服务器机箱厂商
年会网络安全
申请数据服务器的申请书
千兆usb口打印服务器如何调试
数据库与服务器密码是一样的吗
系统绑定数据库错误
软件开发工程师要具备什么
深圳英飞拓软件开发
如何让数据库实现自增
计算机网络技术原理与实验答案
人工智能中的神经网络技术答辩
网站服务器如何数据库
打开一个服务器服的图片
校园网络安全法内容
湖州filecoin服务器
网络安全信息安全数据安全
网络安全法惩戒
数据库保证数据正确的特性
sqlite数据库适用
惠普塔式服务器维修服务
如何让数据库实现自增