nginx--自定义日志跳转长连接文件缓存状态页

自定义日志服务

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf 
server {listen 80;server_name www.fxq.com;error_log /data/nginx/logs/fxq-error.log info;access_log /data/nginx/logs/fxq-access.log main;location / {root /data/nginx/html/pc;index index.html;}
}

 要打开main

 生成日志

 页面不存在跳转服务

直接跳转到首页

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;try_files $uri /index.html;}
}

 

 匹配uri目录下面的index.html文件

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;try_files $uri $uri/index.html /index.html;}
}

 

补全文件名

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;try_files $uri $uri.html /index.html;}
}

 返回状态码

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {listen 80;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;try_files $uri  =123;}
}

长连接配置

keepalive_timeout number; 设定保持连接超时时⻓长,0表示禁止长连接,默认为75s,通常配置在http字段作为站点全局配置
keepalive_requests number; #在一次长连接上所允许请求的资源的最大数量,默认为100次

keepalive_requests 3;
keepalive_timeout 65 65;

 开启长连接后,返回客户端的会话保持时间为65s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面的65s为发送给客户端应答报文头部中显示的超时间设置为65s:如不设置客户端将不显示超时时间

 使用telnet测试

telnet www.fxq.com 80

 2次后断开

 文件缓存

可配置在http,server,location

open_file_cache off; 是否缓存打开过的文件信息

open_file_cache max=N [inactive=time];

max=N:可缓存的缓存项上限数量;达到上限后会使用LRU(Least recently used,最近最少使⽤)算法实现管理理
inactive=time:缓存项的非活动时⻓长,在此处指定的时长内未被命中的或命中的次数少于
open_file_cache_min_uses指令所指定的次数的缓存项即为⾮非活动项,将被删除

nginx可以缓存以下三种信息:
(1) 文件元数据:⽂文件的描述符、文件大小和最近⼀一次的修改时间
(2) 打开目录结构
(3) 没有找到的或者没有权限访问的文件的相关信息

open_file_cache_errors on | off;是否缓存查找时发生错误的文件一类的信息 默认值为off

open_file_cache_min_uses number;
open_file_cache指令的inactive参数指定的时长内,至少被命中此处指定的次数方可被归类为活动项默认值为1

open_file_cache_valid time;缓存项有效性的检查验证频率,默认值为60s

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {listen 80;server_name www.fxq.com;open_file_cache max=10000 inactive=60s; #最⼤大缓存10000个⽂文件,⾮非活动数据超时时⻓长60sopen_file_cache_valid 60s; #每间隔60s检查⼀一下缓存数据有效性open_file_cache_min_uses 5; #60秒内⾄至少被命中访问5次才被标记为活动数据open_file_cache_errors on; #缓存错误信息server_tokens off; #隐藏Nginx server版本。location / {root /data/nginx/html/pc;index index.html;allow 12.168.33.179;}
}

状态页

基于nginx模块ngx_http_stub_status_module实现,在编译安装nginx的时候需要添加编译参数--with-http_stub_status_module,否则配置完成之后监测会是提示语法错误。

location /nginx_status {
           stub_status;
           allow 192.168.13.118;
           allow 127.0.0.1;
           deny all;
        } 

 

Active connections: 当前处于活动状态的客户端连接数,包括连接等待空闲连接数。
accepts:统计总值,Nginx自启动后已经接受的客户端请求的总数。
handled:统计总值,Nginx自启动后已经处理完成的客户端请求的总数,通常等于accepts,除非有因worker_connections限制等被拒绝的连接。
requests:统计总值,Nginx自启动后客户端发来的总的请求数。
Reading:当前状态,正在读取客户端请求报文首部的连接的连接数。
Writing:当前状态,正在向客户端发送响应报文过程中的连接数。
Waiting:当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于active – (reading+writing),

状态⻚页⽤用于输出nginx的基本状态信息:
输出信息示例例:
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
上⾯面三个数字分别对应accepts,handled,requests三个值
Reading: 6 Writing: 179 Waiting: 106

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang 基础知识细节回顾

之前学习golang的速度过于快,部分内容有点囫囵吞枣的感觉,写gorm过程中有很多违反我常识的地方,我通过复习去修正了我之前认知错误和遗漏的地方。 itoa itoa自增的作用在编辑error code时候作用很大,之前编辑springboot的error c…

【JAVA基础之反射】反射详解

🔥作者主页:小林同学的学习笔录 🔥mysql专栏:小林同学的专栏 1.反射 1.1 概述 是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它…

代码随想录算法训练营DAY43|C++动态规划Part5|1049.最后一块石头的重量II、494.目标和、474.一和零

文章目录 1049.最后一块石头的重量II思路CPP代码 494.目标和回溯算法抽象成01背包问题CPP代码本题总结 474.一和零思路CPP代码 1049.最后一块石头的重量II 力扣题目链接 文章链接:1049.最后一块石头的重量II 视频链接:这个背包最多能装多少?L…

成都旅游攻略

第一天 大熊猫基地(55一人) 切记要去早,否则只能看到熊猫屁股 文殊院(拜文殊菩萨) 杜甫草堂(50一人) 宽窄巷子(旅游打卡拍照) 奎星楼街吃晚饭 这里的饭菜很可口 第二天 东郊记忆(成都故事.川剧变脸)主要是拍照打卡 春熙路 IFS国金中心(打卡熊猫屁屁) 太…

Spring Boot中使用Redis和Lua脚本实现延时队列

码到三十五 : 个人主页 延时队列是一种常见的需求。延时队列允许我们延迟处理某些任务,这在处理需要等待一段时间后才能执行的操作时特别有用,如发送提醒、定时任务等。文中,将介绍如何在Spring Boot环境下使用Redis和Lua脚本来实…

【C++STL详解(五)】--------list的介绍与使用

目录 前言 一、list的介绍 二、list的使用 Ⅰ.默认成员函数 1、构造函数 2、赋值重载 3、析构函数 Ⅱ、容量 1.size() Ⅲ、迭代器与遍历 1.beginend (正向迭代器) 2.rbeginrend (反向迭代器) 3.front 4.back Ⅳ、增删查改 1.push_front 2.pop_front 3.push_b…

vue3 + ts 快速入门(全)

文章目录 学习链接1. Vue3简介1.1. 性能的提升1.2.源码的升级1.3. 拥抱TypeScript1.4. 新的特性 2. 创建Vue3工程2.1. 基于 vue-cli 创建2.2. 基于 vite 创建(推荐)vite介绍创建步骤项目结构安装插件项目结构总结 2.3. 一个简单的效果Person.vueApp.vue …

CUDA共享内存

GPU中有两种类型的内存: 板载内存片上内存 全局内存是较大的板载内存,延迟相对较高;共享内存是较小的片上内存,具有相对较低的延迟。共享内存的常用用途: 块内线程的通信通道全局内存数据的可编程管理缓存高速暂存存…

设备能源数据采集新篇章

在当今这个信息化、智能化的时代,设备能源数据的采集已经成为企业高效运营、绿色发展的重要基石。而今天,我们要向大家介绍的就是一款颠覆传统、引领未来的设备能源数据采集神器——HiWoo Box网关! 一、HiWoo Box网关:一站式解决…

confluence 设置https代理

使用nginx反待confluence并开启https后,登录confluence会一直提示:scheme、proxyName、proxyPort设置错误。 解决办法: find / -name server.xmlvi /opt/atlassian/confluence/conf/server.xml HTTP反代配置 HTTPS反代配置

jvm垃圾回收机制介绍

JVM(Java虚拟机)是Java程序的运行环境,它负责执行字节码文件。JVM的工作原理主要包括以下几个部分:类加载器、执行引擎、垃圾收集器和内存管理。类加载器负责加载字节码文件并将其转换成Java平台上的机器码,执行引擎负…

SQL数据库

一.什么是数据库 数据库:存储数据的仓库,数据是有组织的进行存储。(database 简称DB) 数据库管理系统:管理数据库的大型软禁(DataBase Management System 简称DBMS) SQL:操作关系…

微信开发api、微信视频号开发

接口地址: http://api.videostui.com/finder/v2/api/login/checkLogin 接口说明 获取到登录二维码后需每间隔5s调用本接口来判断是否登录成功新设备登录平台,次日凌晨会掉线一次,重新登录时需调用获取二维码且传appId取码,登录成…

莫比乌斯变换的数学原理

关键词:Mobius Transformations 一、说明 关于莫比乌斯变换,是一个代数几何变换的重要概念。也是双曲几何的重要理论,比如庞加莱盘就是建立在这个理论上,那么这个变换到底有哪些内容?本文将做出详细的解读。 二、线…

使用量排名前50的GPTs趋势和特征

Chatgpt的gpt商店已经有几千gpts了。目前哪些gpts比较受欢迎呢?有哪些趋势和投资呢? 根据whatplugin.ai(截止日期为2024年3月),使用量最多的50个gpts数据分析结果如下: GPTs类型的分布情况如下: 图像生成…

FreeRTOS任务通知

FreeRTOS任务通知 FreeRTOS 新增了任务通知(Task Notifictions)这个功能,可以使用任务通知来代替信号量、消息队列、事件标志组等这些东西。使用任务通知的话效率会更高,任务通知在 FreeRTOS 中是一个可选的功能, 使用队列、信号量、事件标志…

Facebook的语言学:社交媒体如何影响我们的沟通方式

1. 引言 社交媒体已经成为人们日常生活中不可或缺的一部分,而Facebook作为其中最具影响力的平台之一,不仅改变了人们之间的社交方式,也对我们的语言学产生了深远的影响。本文将深入探讨Facebook的语言学特点,以及它如何塑造和改变…

C++面经(简洁版)

1. 谈谈C和C的认识 C在C的基础上添加类,C是一种结构化语言,它的重点在于数据结构和算法。C语言的设计首要考虑的是如何通过一个过程,对输入进行运算处理得到输出,而对C,首先要考虑的是如何构造一个对象,通…

2-手工sql注入(进阶篇) sqlilabs靶场1-4题

1. 阅读,学习本章前,可以先去看看基础篇:1-手工sql注入(基础篇)-CSDN博客 2. 本章通过对sqlilabs靶场的实战,关于sqlilabs靶场的搭建:Linux搭建靶场-CSDN博客 3. 本章会使用到sqlmap,关于sqlmap的命令&…

stm32f103zet6_串口实现-DHT11-tim1(定时)

1思路 1打开时钟 1.1使用定时器实现us级的计时 1.2在打开串口 1,3在DHT11驱动中修改引脚 stm32cudeMX 配置 1打开时钟 2打开串口 3打开tim1(定时器) 4生成代码 代码设置 1导入DHT11库(tim.h是定时器的文件系统自动生成的) DHT11.c #include "dht11.h" #inc…