当前位置: 首页 > news >正文

Nginx基础篇-Nginx的WEB模块~连接状态

连接状态

stub_status_module-模块

目的:展示nginx链接状态
查询模块得方式

nginx -V 2>&1 | grep stub_status 

在结果中显示以下得内容

--with-http_stub_status_module

在server中添加以下内容

vim /etc/nginx/conf.d/default.conf

server {
	location /nginx_status {	
		stub_status;
		allow all;
}
}

重启nginx将配置生效
systemctl restart nginx
页面访问 IP/nginx_status
页面出现以下内容
在这里插入图片描述Active connections: 22 当前活动的连接数

17 总连接数connection(TCP)

17 成功的连接数connection (TCP)

24 总共处理的请求数requests(HTTP)

关于链接得问题

1、什么是链接
OSI7层模型中得传输层
中的代表协议 TCP、UDP
TCP封装结构
在这里插入图片描述端口号:用来标识同一台计算机不同的应用进程。
源端口: 占2个字节,源端口和IP地址的作用是标识报文的返回地址。
目的端口: 占2个字节,端口指明接收方计算机上的应用程序接口。

TCP报头中的源端口号和目的端口号同IP报头中的源IP和目的IP唯一确定一条TCP连接。

序列号: 占4个字节,是TCP可靠传输的关键部分,是本报文段发送的数据组的第一个字节的序号;在TCP传输流中,每一个字节一个序号。序号确保了TCP传输的有序性。

确认号: 占4个字节,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到;确认号只有当ACK=1时才有效。(比如建立连接时,SYN报文的ACK标志位为0)

TCP三次握手

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

TCP四次挥手/四次断开

第一次挥手:客户端发送FIN包给服务器端,关闭数据传送,客户端进入FIN_WAIT_1状态;
第二次挥手:服务器端接受到FIN包后,发送ACK包给客户端,并且确认序号+1,之后进入CLOSE_WAIT状态;
第三次挥手:服务器端发送FIN包给客户端,关闭Server到Client的数据传送,并进入LAST_ACK状态,
第四次挥手:客户端发送ACK包给服务器端,进入TIME_WAIT状态,,服务器接收到后也进入CLOSE状态

什么是请求

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,

keepalived

Httpd守护进程,一般都提供了keep-alive timeout时间设置参数。比如nginx的keepalive_timeout,和Apache的KeepAliveTimeout。这个 keepalive_timout时间值意味着:一个http产生的tcp连接在传送完最后一个响应后,还需要hold住 keepalive_timeout秒后,才开始关闭这个连接。当httpd守护进程发送完一个响应后,理应马上主动关闭相应的tcp连接,设置 keepalive_timeout后,httpd守护进程会想说:”再等等吧,看看浏览器还有没有请求过来”,这一等,便是 keepalive_timeout时间。如果守护进程在这个等待的时间里,一直没有收到浏览发过来http请求,则关闭这个http连接。

开启关闭长连接

在这里插入图片描述

相关文章:

  • 营收、利润双增长,龙湖集团找到多元增长的答案?
  • YOLO系列之yolov1解读(1)
  • Softing IT Networks线上研讨会 | 9月 (下篇)
  • HBase原理深入
  • webpack5 之 基础构建打包
  • STM32使用寄存器点灯实验
  • 技术对接35
  • 金仓数据库 KingbaseES 插件参考手册 plsql_pldbgapi
  • 测试面试 | 某 BAT 大厂测试开发面试真题与重点解析
  • 2022鹏城杯
  • Kubernetes学习笔记-保障集群内节点和网络安全(3)限制pod使用安全相关的特性20220828
  • [免费专栏] Android安全之利用ADT获取内存中的敏感信息
  • 网络编程必读经典书籍
  • TDengine-解决集群搭建过程中启动失败问题
  • STM32 GPIO工作原理
  • [PHP内核探索]PHP中的哈希表
  • 10个最佳ES6特性 ES7与ES8的特性
  • css系列之关于字体的事
  • Docker下部署自己的LNMP工作环境
  • Java IO学习笔记一
  • JavaScript服务器推送技术之 WebSocket
  • Java读取Properties文件的六种方法
  • Lsb图片隐写
  • MySQL QA
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • 安卓应用性能调试和优化经验分享
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 官方解决所有 npm 全局安装权限问题
  • 简单数学运算程序(不定期更新)
  • 聊一聊前端的监控
  • 前端工程化(Gulp、Webpack)-webpack
  • 实习面试笔记
  • 数据仓库的几种建模方法
  • 一天一个设计模式之JS实现——适配器模式
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #stm32整理(一)flash读写
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (¥1011)-(一千零一拾一元整)输出
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)WLAN定义和基本架构转
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)负载均衡,回话保持,cookie
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .bat文件调用java类的main方法
  • /usr/bin/env: node: No such file or directory
  • @RequestMapping处理请求异常
  • @selector(..)警告提示
  • @vue/cli 3.x+引入jQuery
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)