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安全错误
数据库的锁怎样保障安全
网络技术具体内容
网络安全发展方向
国泰安数据库值怎么找
服务器安全狗360杀毒
互联网对科技创新的推动作用
网络技术专业征文
vsc 怎么调用数据库
数据库技术与应用期末总结
维护网络安全培训教案
东莞金融软件开发报价
魔域数据库修改副宠要求
计算机网络服务器安装视频
国家网络安全网红
服务器配置与管理感想
云服务器本地安全的因素
网络安全犯罪的新闻
网页为什么需要数据库
网络安全生产考核方案
帮芒拼服务器
外企软件开发岗位名称
自己开发数据库
怀旧服怎么弄服务器人数
c 文件追加数据库
java在软件开发中
伊春dell服务器
社区养老呼叫服务器
怀旧服新开服务器有意思吗
对日软件开发co
网络视频涉及的网络技术
delphi7数据库备份