Nginx配置统计流量带宽请求及记录实时请求状态的方法

流量带宽请求状态统计
ngx_req_status用来展示nginx请求状态信息,类似于apache的status,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求、以及各url域名所消耗的带宽是多少。ngx_req_status提供了这些功能.
功能特性
按域名、url、ip等等统计信息
统计总流量
统计当前带宽\峰值带宽
统计总请求数量
1. 安装

# cd /usr/local/src/
 # wget "http://nginx.org/download/nginx-1.4.2.tar.gz"
 # tar -xzvf nginx-1.4.2.tar.gz
 # wget https://github.com/zls0424/ngx_req_status/archive/master.zip -O ngx_req_status.zip
 # unzip ngx_req_status.zip
 # cd nginx-1.4.2/
 # patch -p1 < ../ngx_req_status-master/write_filter.patch
 # ./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../ngx_req_status-master
 # make -j2
 # make install

2. 配置

http {
 req_status_zone server_name $server_name 256k;
 req_status_zone server_addr $server_addr 256k;
 req_status_zone server_url $server_name$uri 256k;
req_status server_name server_addr server_url;
server {
 server_name test.jb51.net;
 location /ttlsa-req-status {
 req_status_show on;
 }
 }
 }

3. 指令
req_status_zone
语法: req_status_zone name string size
默认值: None
配置块: http
定义请求状态ZONE,请求按照string分组来排列,例如:
req_status_zone server_url  $server_name$uri 256k;
域名+uri将会形成一条数据,可以看到所有url的带宽,流量,访问数
req_status
语法: req_status zone1[ zone2]
默认值: None
配置块: http, server, location
在location中启用请求状态,你可以指定更多zones。
req_status_show
语法: req_status_show on
默认值: None
配置块: location
展示数据

实时记录请求状态信息
ngx_realtime_request是nginx用来统计虚拟主机流量的模块, 首先和大家说下这个模块是基于域名的,将会记录这个域名的请求量、发送字节、返回http状态码的数量,特性如下:
基于域名记录
记录请求数据量
记录发送、响应流量
记录返回各种http状态码统计数据
1.  安装

# cd /usr/local/src/
# wget "http://nginx.org/download/nginx-1.4.2.tar.gz"
# tar -xzvf nginx-1.4.2.tar.gz
# wget https://github.com/magicbear/ngx_realtime_request_module/archive/master.zip -O ngx_realtime_request.zip
# unzip ngx_realtime_request.zip
# cd nginx-1.4.2/
# ./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../ngx_realtime_request_module-master
# make
# make install

2.  指令(directives)
realtime_zonesize
语法: realtime_zonesize size
默认值: 4m
配置块: http
设置slab大小
realtime_request
语法: realtime_request [on/off]
默认值: none
配置块: location
开启统计
3.  配置实例

http {
  realtime_zonesize 16m;

  server {
    server_name www.jb51.net
    location ~ /ttlsa-rt-status {
      realtime_request on;
    }
  }
}
(0)

相关推荐

  • 修改配置解决Nginx服务器中常见的上传与连接错误

    nginx上传错误413 Request Entity Too Large 默认情况下使用nginx反向代理上传超过2MB的文件,会报错413 Request Entity Too Large,解决这个方法很简单,修改配置client_max_body_size值即可 修改nginx.conf #cat /usr/local/nginx-1.7.0/conf/nginx.conf | grep client_max_body_size client_max_body_size 10M; 如果需要

  • 详解Nginx的核心配置模块中对于请求体的接受流程

    本篇文章主要会介绍nginx中请求的接收流程,包括请求头的解析和请求体的读取流程. 首先介绍一下rfc2616中定义的http请求基本格式: Request = Request-Line *(( general-header | request-header | entity-header ) CRLF) CRLF [ message-body ] </span> 第一行是请求行(request line),用来说明请求方法,要访问的资源以及所使用的HTTP版本: Request-Line  

  • nginx与apache限制ip并发访问 限制ip连接的设置方法

    nginx nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量 1.添加limit_zone 这个变量只能在http使用 vi /usr/local/nginx/conf/nginx.conf limit_zone one $binary_remote_addr 10m; 2.添加limit_conn 这个变量可以在http, server, location使用 我只限制一个站点,所以添加到server里面 vi /usr/local/nginx/conf/host/gaoji

  • 详解Nginx的配置函数对于请求体的读取

    nginx核心本身不会主动读取请求体,这个工作是交给请求处理阶段的模块来做,但是nginx核心提供了ngx_http_read_client_request_body()接口来读取请求体,另外还提供了一个丢弃请求体的接口-ngx_http_discard_request_body(),在请求执行的各个阶段中,任何一个阶段的模块如果对请求体感兴趣或者希望丢掉客户端发过来的请求体,可以分别调用这两个接口来完成.这两个接口是nginx核心提供的处理请求体的标准接口,如果希望配置文件中一些请求体相关的指

  • 详解Nginx服务器中配置全站HTTPS安全连接的方法

    HTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个: 数据保密性.保证内容在传输过程中不会被第三方查看到.就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西.     数据完整性.及时发现被第三方篡改的传输内容.就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收.     身份校验.保证数据到达用户期望的目的地.就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方. 启用

  • Nginx服务器中限制连接数与限制请求的模块配置教程

    限制连接数的ngx_http_limit_conn_module模块 我们经常会遇到这种情况,服务器流量异常,负载过大等等.对于大流量恶意的攻击访问,会带来带宽的浪费,服务器压力,影响业务,往往考虑对同一个ip的连接数,并发数进行限制.下面说说ngx_http_limit_conn_module 模块来实现该需求.该模块可以根据定义的键来限制每个键值的连接数,如同一个IP来源的连接数.并不是所有的连接都会被该模块计数,只有那些正在被处理的请求(这些请求的头信息已被完全读入)所在的连接才会被计数.

  • Nginx静态文件响应POST请求 提示405错误的解决方法

    例1:用linux下的curl命令发送POST请求给Apache服务器上的HTML静态页 复制代码 代码如下: [root@localhost ~]# curl -d 11=1 http://www.jb51.net/index.html    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">   <HTML>       <HEAD>           <TITLE>405 Meth

  • Nginx服务器中处理AJAX跨域请求的配置方法讲解

    Nginx 实现AJAX跨域请求 AJAX从一个域请求另一个域会有跨域的问题.那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令.如下所示: location /{ add_header 'Access-Control-Allow-Origin' 'http://other.subdomain.com'; add_header 'Access-Control-Allow-Credentials' 'true

  • Linux服务器nginx访问日志里出现大量http 400错误的请求分析

    服务器中的错误记录类似于这种: 124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] "-" 400 0 "-" "-" 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] "-" 400 0 "-" "-" 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800]

  • Nginx配置统计流量带宽请求及记录实时请求状态的方法

    流量带宽请求状态统计 ngx_req_status用来展示nginx请求状态信息,类似于apache的status,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求.以及各url域名所消耗的带宽是多少.ngx_req_status提供了这些功能. 功能特性 按域名.url.ip等等统计信息 统计总流量 统计当前带宽\峰值带宽 统计总请求数量 1. 安装 # cd /usr/local/src/ # wget "http://nginx.org/download/nginx

  • Nginx配置ssl实现https的全过程记录

    目录 一.安装Nginxssl模块 1.检查 2.安装 3.再次检查 二.部署ssl证书 三.配置nginx.conf 四.重启Nginx 总结 一.安装 Nginx ssl 模块 1.检查 检查是否已安装 ssl 模块: cd /usr/local/nginx/sbin ./nginx -V [root@server-c00ef8c3-710d-4708-9cde-2c864e7c03e2 sbin]# ./nginx -V nginx version: nginx/1.21.4 built

  • Nginx配置跨域请求Access-Control-Allow-Origin * 详解

    前言 当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服务器配置响应的header参数: 一. 解决方案 只需要在Nginx的配置文件中配置以下参数: location / { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET

  • 本地通过nginx配置反向代理的全过程记录

    前言 Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能.我们在日常开发中使用到Nginx的主要有以下几个场景: Nginx作为http服务器 跨域请求 负载均衡 网络资源的动静分离 作为前端,我们主要是关注前两个场景 一.下载安装 点此下载 ,下载完成后解压,解压后文件如下: 解压(双击nginx.exe,双击后一个黑色的弹窗一闪而过) 找到nginx解压目录下,鼠标右键,找到git bash打开,输入命令start ./nginx.exe回

  • 详解nginx配置url重定向-反向代理

    本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com  IP: 192.168.10.128             apache主机,hostname: client1.lansgg.com IP:  192.168.10.129 一.nginx 地址重定向 二.nginx 反向代理 1.地址重定向:是指当使用者浏览某个网址时,将他导向到另一个网址的技术.常用在把一串很长的网址,转成较短的网址.因为当要传播某网站时,常常因为网址

  • Laravel 5.5官方推荐的Nginx配置学习教程

    前言 本文主要给大家介绍了关于Laravel 5.5官方推荐的Nginx配置的想内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍把. Laravel 5.5 版本官方放出了 Nginx 服务器的配置,中文文档:服务器配置 Nginx server { listen 80; server_name example.com; root /example.com/public; add_header X-Frame-Options "SAMEORIGIN"; add_head

  • Nginx配置详解(推荐)

    序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器.支持FastCGI.SSL.Virtual Host.URL Rewrite.Gzip等功能.并且支持很多第三方的模块扩展. Nginx的稳定性.功能集.示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站.

  • nginx配置ssl证书实现https访问的示例

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点"解析",进入解析页面后选择[添加解析]按钮会弹出如下页面: 主机记录这里选择@,记录值就是服务器ip地址,确认. 三,申请ca证书 在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书, 选择"免费版DV SSL",点击立即购买: 然

  • Nginx配置实现下载文件的示例代码

    偶尔听人说用nginx实现文件上传下载,之前看nginx实践大致看到过,没有细究.所以今天就想研究下nginx实现文件的上传下载,直接开搞,本地服务启起.这里记录下配置及踩坑记录. 一.配置 http { ... server: { # 配置下载 location /download { root D:\\download; autoindex on; autoindex_exact_size off; } } ... } 这是目录里随便放的几个文件,可以看到实现成功. 这里踩过几个坑,下面提示

  • Nginx配置SSL和WSS步骤介绍

    目录 前言 一.Nginx安装 1.下载Nginx 2.安装依赖 3.编译安装Nginx 二.SSL配置 三.WSS配置 前言 近期,由于要发布微信小程序,小程序的发布必须使用已备案的服务器域名及https的请求方式,之前已经备案过一台服务器了,此次小程序的后台服务部署在另一台服务器上,又不想重新部署后台服务,所以想到在已经备案过的服务器上安装Nginx并配置SSL,通过Nginx反向代理到另一台服务器. 一.Nginx安装 笔者使用的是腾讯云服务器Centos 7.5, 安装教程网上有很多,笔

随机推荐