nginx服务器状态,利用nginx-status监控nginx服务器状态

利用nginx-status配置可以用网页的形式查看nginx服务器的连接数、请求数等情况。,下面来介绍下如何配置nginx-status页面

1、创建perl脚本pwd.pl,作为nginx basic auth模块的密码生成器,代码如下#!/usr/bin/perl

use strict;

my $pw=$ARGV[0];

print crypt($pw,$pw)."\n";

2、打开nginx.conf配置文件,在server块中加入以下代码即可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主进程号

6、用浏览器打开http://ip/nginx-status,输入设置的用户名密码即可看到服务器连接状态,如下所示:

07b4ea9078e0e764a7472e895ae2c533.png

Active connections: 对后端发起的活动连接数.

Server accepts handled requests: Nginx总共处理了77个连接,成功创建77次握手(证明中间没有失败的),总共处理了239个请求.

Reading: Nginx 读取到客户端的Header信息数.

Writing: Nginx 返回给客户端的Header信息数.

Waiting: 开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接。

可以以此用shell脚本算出平均每秒的请求数#!/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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值