Nginx-解读内置非默认模块 ngx_http_stub_status_module
1.Background
ngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 模块,该模块可以提供 Nginx 的状态信息。默认情况下这个模块是不被编译进来的,所以在编译 Nginx 时要指定加载该模块:
--with-http_stub_status_module
当然了,如果你是重新编译,仅仅-s reload是不够的,可能需要用到平滑升级:《高性能Web服务器Nginx的配置与部署研究(14)平滑升级你的Nginx》。
为什么拿它做例子?因为它也是个足够短小精悍的模块,是一个典型 handler 模块。那么以后我们讲解模块的过程,都是:
  1).简要的介绍
  2).使用的实例
  3).指令介绍
  4).源码分析
2.Simple example
location /nginx_status {
    #copied from http://blog.kovyrin.net/2006/04/29/monitoring-nginx-with-rrdtool/
    stub_status on;
    access_log off;
    allow SOME.IP.ADD.RESS;
    deny all;
}
我们假设你是在本机上实验,并且开启的是 80 端口,那么在浏览器中输入:http://localhost/nginx_status 会看到这样的信息:
Active connections:
server accepts handled requests Reading: Writing: Waiting:
其含义很容易理解:
  第一行
    当前的活跃连接数:291 #个人认为是处于 SYN_RCVD、ESTABLISHED 状态的连接,等于 Reading + Writing + Waiting
  第二行
    服务器已接受的连接数:16630948(accepted connection #),已接收来自客户端的连接数,也是被Worker进程接收的连接数。
    服务器已处理的连接数:16630948(handled connection #),已被处理的连接总数,其值一般与accepts相等,除非受到了某些资源的限制,如:设置了worker_connections的数量限制。
    服务器已处理的请求:31070465(可以算出,平均每个连接有 1.8 个请求)(handled connection #)
  第三行
    Reading – Nginx 正在读取请求头的连接数为 6;
    Writting – Nginx 正在读取请求体、处理请求并发送响应给客户端的连接数为 179;
    Waiting – 当前活动的长连接数:106。 #只是keep-alive,没有活动的连接。
Nginx 官方的解释如下:
    active connections – number of all open connections
    server accepts handled requests – nginx accepted 16630948 connections, handled 16630948 connections (no one was closed just it was accepted), and handles 31070465 requests (1.8 requests per connection)
    reading – nginx reads request header
    writing – nginx reads request body, processes request, or writes response to a client
    waiting – keep-alive connections, actually it is active - (reading + writing)
3 Directives
这个模块中的唯一一个指令,是:
stub_status
  语法:stub_status on
  作用域:location
  功能:统计这个 location 的信息。
转自:http://blog.csdn.net/poechant/article/details/7627843
Nginx-解读内置非默认模块 ngx_http_stub_status_module的更多相关文章
- Nginx解读内置非默认模块 ngx_http_stub_status_module
		1 Background http://nginx.org/en/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_mod ... 
- 解剖Nginx·模块开发篇(5)解读内置非默认模块 ngx_http_stub_status_module
		1 Background ngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 模块,该模块可以提供 Nginx 的状态信息.默认情况下这个模块是不被编译进来的 ... 
- Filebeat使用内置的mysql模块收集日志存储到ES集群并使用kibana存储
		Filebeat内置了不少的模块,可以直接使用他们对日志进行收集,支持的模块如下: [root@ELK-chaofeng07 logstash]# filebeat modules list Enab ... 
- Python内置的操作系统模块(os)与解释器交互模块(sys)
		Python内置的操作系统模块(os)与解释器交互模块(sys) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本片博客只介绍Python调用操作系统的模块即os模块,以及Pyth ... 
- day15 内置函数和模块
		day15 内置函数和模块 1.三元表达式 代码如下: x = 1 y = 2 res = 'ok' if x > y else 'no' print(res) 输出结果:no 2.内置函数:重 ... 
- Python内置的urllib模块不支持https协议的解决办法
		Django站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown url type: https”异常.寻根朔源发现是python内 ... 
- Ionic4.x Theming(主题) 增加内置主题 颜色 修改内置组件默认样式 修改底部 Tabs 背景颜色以及按钮颜色
		1.Ionic4.x Theming(主题) Ionic4.x 修改主题颜色的话需要在 src/theme/variables.scss 文件中修改. https://ionicframework.c ... 
- Python基础-内置函数、模块、函数、json
		内置函数 1.id()返回对象的内存地址: 2. type() 返回对象类型: 3.print()打印输出: 4. input()接受一个标准输入数据,返回为string类型: 5. list() ... 
- Django内置的分页模块
		自定义分页 未封装版: 优点:直观 缺点:代码乱,不易维护,可拓展性差 data = [] for i in range(1, 302): tmp = {"id": i, &quo ... 
随机推荐
- iOS---初识Swift(一)
			一.Swift简介 ○ 2010年的夏天, 苹果公司的开发人员Chris Latten接到了一个特别的任务, 为OS X 和iOS平台开发下一代编程语言, 也就是Swift. ○ 苹果公司于2014年 ... 
- Linux代码的重用与强行卸载Linux驱动
			(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ... 
- 小型资源管理器,IO操作,读取和写入文件和目录的常用操作
			解决方案: 小总结: 用IO流,的file,DirectoryInfo的方法绑定Treeview控件上和删除,读取, 可以熟练掌握一下IO流 主页面: private void Form1_Load( ... 
- Android开源框架:NineOldAndroid
			在android3.0以前的版本,要实现动画,一般是使用NineOldAndroid开源框架,之后,就可以直接使用android提供的animation API了. 仔细看过此开源框架后,可看出此框架 ... 
- SQL Server 2005 处理交叉表
			假设有一个表如下: 日期 时间 售货金额 2006-01-02 早上 50 2006-01-02 中午 20 2006-01-02 晚上 30 2006-01-02 零晨 40 2006-01-03 ... 
- REVERSE-Daily(4)-Elfcrackme2
			非常坑爹的一道题目,看似非常简单,实则有套路 链接: http://pan.baidu.com/s/1i4XLCd3 密码:9zho 为了练手 我会写出三种解法,包括 结合ascii码值范围的爆破,动 ... 
- 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
			手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ... 
- 用 Express4 写一个简单的留言板
			Knowledge Dependence:阅读文本前,你需要熟悉 Node.js 编程.Express 以及相关工具和常用中间件的使用. Node.js 以其单线程异步非阻塞的特点,越来越被广大的 W ... 
- BackTrack5-r3虚拟机安装
			ISOL INUX 3.63 Debian-2008-07-15 Copyright (C) 1994-2008 H. Peter Anvinboot:(按回车) 选择:BackTrack Text ... 
- 必须掌握的八个cmd 命令
			一,ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它 所利用的原理是这样的:网络上的机器都有唯一确定的I ... 
