Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2168706
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: LINUX

2015-07-28 10:26:18

转自:http://my.oschina.net/gorillaz/blog/107878

利用nginx-status配置可以用网页的形式查看nginx服务器的连接数、请求数等情况。,下面来介绍下如何配置nginx-status页面
1、创建perl脚本pwd.pl,作为nginx basic auth模块的密码生成器,代码如下
?
1
2
3
4
#!/usr/bin/perl
use strict;
my $pw=$ARGV[0];
print crypt($pw,$pw)."\n";

2、打开nginx.conf配置文件,在server块中加入以下代码即可
?
1
2
3
4
5
6
location /nginx-status {
             auth_basic              "NginxStatus";
             stub_status on;
             access_log  on;
             auth_basic_user_file    /lnmp/nginx/conf/htpasswd;
        }
3、设置pwd.pl的可执行权限并执行./pwd.pl,将显示出来的密码复制。
4、创建或打开 /lnmp/nginx/conf/htpasswd文件,按用户名:加密后的密码的格式设置。
5、kill -HUP nginx主进程号
 
Active connections: 对后端发起的活动连接数.
Server accepts handled requests: Nginx总共处理了77个连接,成功创建77次握手(证明中间没有失败的),总共处理了239个请求.
Reading: Nginx 读取到客户端的Header信息数.
Writing: Nginx 返回给客户端的Header信息数.
Waiting: 开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接。

可以以此用shell脚本算出平均每秒的请求数
?
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
QINGQIU1=`curl -s  http://ip/nginx-status awk '/server accepts handled requests/ {getline a;split(a,s); print s[length(s)]}'`
sleep 5
QINGQIU2=`curl -s  http://ip/nginx-status awk '/server accepts handled requests/ {getline a;split(a,s); print s[length(s)]}'`
if [ $QINGQIU2 -gt 0 ]
then
QINGQIU=`expr $QINGQIU2 - $QINGQIU1`
PER=`expr $QINGQIU / 5`
echo "The nginx request is ${PER} per second"
fi
阅读(1505) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~