站群站点日志优化

news2024/11/15 11:16:45

需求:

1,每个站点的日志需要记录到请求的域名

2,日志需要自动切割保存前三天的内容,防止日志无限增长

3,日志要有利于二次分析

实现:

1,nginx需要修改两个地方

nginx配置

                    时间           IP            真实IP                  请求方法GET POST   协议http   请求域名     请求连接        返回状态    请求来源          发送大小            相应时间         客户端信息
log_format custom '$time_local ▐ $remote_addr ▐ $http_x_forwarded_for ▐ $request_method ▐ $scheme ▐ $http_host▐  $request_uri ▐ $status ▐ $http_referer ▐  $body_bytes_sent ▐  $request_time ▐ $http_user_agent';

需要在http内,server外增加以上代码

 站点配置

access_log  /www/wwwlogs/www.xxx.cn.log custom;

 

2,开启宝塔定时任务

 

3,站点在站群系统上传时,修改配置文件

 

$sites = Db::table('web_site')->where(['status' => 1, 'delete_at' => 0])->select();
foreach ($sites as $site) {
    // 配置自定义站点日志代码
    $client = Db::table('web_server_client')->where(['id' => $site['server_client_id']])->find();
    if($client) {
        $bt = new Bt($client['url'], $client['key']);
        $nginx = $bt->GetFileBody('/www/server/panel/vhost/nginx/'.$site['domain'].'.conf');
        if($nginx['status'] && isset($nginx['data'])) {
            preg_match('/access_log  \/www\/wwwlogs\/(.*?);/', $nginx['data'], $result);
            $content = '';
            if($result && isset($result[1])) {
                if(strstr($result[1], 'custom') === false) {
                    $content = str_replace($result[1], $result[1].' custom', $nginx['data']);
                    $msg = $bt->SaveFileBody('/www/server/panel/vhost/nginx/'.$site['domain'].'.conf', $content);
                    var_dump('更新站点配置'.$site['domain']);
                }
            }
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript(二)函数及对象

函数 函数体中return后面不能再添加任何代码&#xff0c;因为不会执行 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

【论文阅读24】Better Few-Shot Text Classification with Pre-trained Language Model

论文相关 论文标题&#xff1a;论文标题&#xff1a;Label prompt for multi-label text classification&#xff08;基于预训练模型对少样本进行文本分类&#xff09; 发表时间&#xff1a;2021 领域&#xff1a;多标签文本分类 发表期刊&#xff1a;ICANN&#xff08;顶级会…

PyCharm安装使用2023年教程,PyCharm与现流行所有编辑器对比。

与PyCharm类似的功能和特性的集成开发环境&#xff08;IDE&#xff09;和代码编辑器有以下几种&#xff1a; Visual Studio Code&#xff08;VS Code&#xff09;&#xff1a;由Microsoft开发&#xff0c;VS Code是一个高度可定制和可扩展的代码编辑器。它支持多种编程语言&am…

动手学深度学习(一)预备知识

目录 一、数据操作 1. N维数组样例 2. 访问元素 3. 基础函数 &#xff08;1&#xff09; 创建一个行向量 &#xff08;2&#xff09;通过张量的shape属性来访问张量的形状和元素总数 &#xff08;3&#xff09;reshape()函数 &#xff08;4&#xff09;创建全0、全1、…

机器学习笔记之优化算法(六)线搜索方法(步长角度;非精确搜索;Glodstein Condition)

机器学习笔记之优化算法——线搜索方法[步长角度&#xff0c;非精确搜索&#xff0c;Glodstein Condition] 引言回顾&#xff1a; Armijo Condition \text{Armijo Condition} Armijo Condition关于 Armijo Condition \text{Armijo Condition} Armijo Condition的弊端 Glodstein…

开源项目-知识库管理系统(中国软件杯项目)

简述 哈喽,大家好,今天带来一个开源项目-知识库管理系统,项目通过Spring MVC技术实现。通过readme了解到这是某位大神大三暑假(2016年)参加第五届中国软件杯项目的源码。由三人团队完成(Yu yufeng\Zhou changqin\Liu chenzhe) 此作品获得了本科组全国二等奖。项目本身用…

ROS处理kitti数据集

一、参考资料 kitti2bag代码仓库 二、KITTI数据集之tracking数据集 ROS1结合自动驾驶数据集Kitti开发教程(七)下载图像标注资料并读取显示 1. tracking数据集简介 tracking tracking任务分为三种类型&#xff0c;分别是Multi-Object Tracking&#xff08;多目标跟踪&…

2023牛客暑期多校训练营5-C Cheeeeen the Cute Cat

2023牛客暑期多校训练营5-C Cheeeeen the Cute Cat https://ac.nowcoder.com/acm/contest/57359/C 文章目录 2023牛客暑期多校训练营5-C Cheeeeen the Cute Cat题意解题思路兰道定理&#xff1a; 代码 题意 解题思路 可以将边 ( i , j n ) (i,jn) (i,jn)转变成 ( i , j ) (…

项目管理中的需求分析:实施策略与最佳实践

引言 在项目管理的过程中&#xff0c;需求分析起着至关重要的作用。理解和定义项目需求是项目成功的关键一步&#xff0c;它可以帮助我们确定项目的目标和范围&#xff0c;以及如何有效地达到这些目标。在本文中&#xff0c;我们将深入探讨需求分析的重要性&#xff0c;讨论如…

使用 AntV X6 + vue 实现单线流程图

使用 AntV X6 vue 实现单线流程图 X6 是 AntV 旗下的图编辑引擎&#xff0c;提供了一系列开箱即用的交互组件和简单易用的节点定制能力&#xff0c;方便我们快速搭建 DAG 图、ER 图、流程图等应用。 官方文档 安装 yarn add antv/x61.34.6Tips&#xff1a; 目前 X6 有 1.x…

css滚动条样式指南

css滚动条样式指南 滚动条是网页设计中经常被忽视的元素。虽然它看起来像是一个小细节&#xff0c;但它在网站导航中起着至关重要的作用。默认的滚动条可能看起来不合适&#xff0c;有损整体美观。本文将介绍如何使用 CSS 自定义滚动条。 在 Chrome、Edge 和 Safari 中设置滚…

微信小程序接入腾讯云天御验证码

腾讯云新一代行为验证码&#xff08;Captcha&#xff09;&#xff0c;基于十道安全防护策略&#xff0c;为网页、APP、小程序开发者打造立体、全面的人机验证。在保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时&#xff0c;提供更精细化的用户体验。 …

Uniapp_app端使用重力感应实现横屏竖屏自动切换

1、进入页面默认是竖屏当手机横着的时候页面也跟着横着 进入页面开启定时器调用相关api去触发横屏竖屏&#xff0c;主要核心代码都在onShow()里面和onHide()里 <template> <view class"monitor"><u-no-network></u-no-network><web-view …

6.使用typeof注释,只读修饰符

目录 1 使用typeof注释 2 只读修饰符 readonly 2.1 在类中使用 2.2 在接口中使用 2.3 在很多的地方都能使用 1 使用typeof注释 比如我就像传入像 p 这个变量的样子的参数 如果你给的不是这个样子的就会报错 也可以这样用 ts中的typeof后面不能跟未定义返回值类型的…

金融学复习博迪(第1-5章)

第一部分 金融和金融体系 第1章 金融学 金融&#xff1a;资金的流通&#xff0c;即储蓄&#xff0c;信贷、汇兑、股票和证券交易等经济活动的总称。 金融学&#xff1a;研究货币流通的学问。 传统的金融学研究领域大致有两个方向&#xff1a; >宏观层面的金融市场运行理论…

k8s概念-深入pod

回到目录 工作负载&#xff08;workloads&#xff09; 工作负载&#xff08;workload&#xff09;是在kubernetes集群中运行的应用程序。无论你的工作负载是单一服务还是多个一同工作的服务构成&#xff0c;在kubernetes中都可以使用pod来运行它 workloads分为pod与control…

Android 13(T) - Media框架(2)- MediaPlayer与native的串接 libmedia

这一节学习有两个目标&#xff1a; 1 熟悉Android Media API的源码路径与调用层次 2 从MediaPlayer的创建与销毁了解与native的串接 1、源码路径 Media相关的API位于&#xff1a;frameworks/base/media/java/android/media&#xff0c;里面提供有MediaPlayer MediaCodecList M…

数据结构一轮复习 之 第二章

一、线性表&#xff08;逻辑结构&#xff09;-顺序表&#xff08;物理结构&#xff09; 操作&#xff1a; 静态分配&#xff1a;ElemType data[Lenght] 动态分配&#xff08;空间可扩充&#xff1a;新开辟一个更大的空间&#xff0c;并移动原数据&#xff09;&#xff1a;Ele…

【机器学习】西瓜书学习心得及课后习题参考答案—第5章神经网络

5.1神经元模型——这是神经网络中最基本的成分。 5.2感知机与多层网络——由简单的感知机循序渐进引出多层前馈神经网络。 5.3误差逆传播算法——BP算法&#xff0c;迄今最成功的神经网络学习算法。算法如下&#xff08;公式参考西瓜书&#xff09; 停止条件与缓解BP过拟合的…

与“云”共舞,联想凌拓的新科技与新突破

伴随着数字经济的高速发展&#xff0c;IT信息技术在数字中国建设中起到的驱动和支撑作用也愈发凸显。特别是2023年人工智能和ChatGPT在全球的持续火爆&#xff0c;更是为整个IT产业注入了澎湃动力。那么面对日新月异的IT信息技术&#xff0c;再结合疫情之后截然不同的经济环境和…