nginx 7 가지 상태

4104 단어 nginx
오늘 우 리 는 셸 스 크 립 트 를 통 해 Nginx 를 상태 추적 합 니 다.작업 절차: 1) Nginx 의 추적 서 비 스 를 시작 합 니 다.2) 셸 스 크 립 트 를 작성 하여 가 져 오기;
  • Nginx 를 시작 하 는 추적 서비스 Nginx 의 기능 모듈 에는 ngx 가 있 습 니 다.http_stub_status_module 의 모듈 은 Nginx 의 기본 접근 상태 정 보 를 기록 하고 있 지만 설정 해 야 시작 할 수 있 습 니 다.메모: yum 설치 방식 도 기본적으로 이 모듈 이 설치 되 어 있 습 니 다.1. Nginx 설치 [root@web01] \ # yum install - y nginx 2. 추적 서비스 시작 [root@web01 nginx]# cd /etc/nginx[root@web01 nginx]# cat nginx.confworker_processes 1;이벤트 {worker connections 1024;} http {include mime. types; default type application / ocket - stream; sendfile on; keepalive timeout 65; server {listen 80; server name localhost; location / {root html; index. html index. html index. htm;} error page 500 502 503 504 / 50x. html; location = / 50x. html {root html;} 시작 상태 추적
    location /nginx_status {
        stub_status on; #         
        access_log off; #           
    }
    }root@web01 nginx]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@web01 nginx]# nginx [root@web01 nginx]# netstat -lntupActive Internet connections (only servers)Proto Recv - Q Send - Q Local Address Foreign Address State PID / Program name tcp 0 0 0.0.0.0: 80 0.0.0.0: LISTEN 1405 / nginx tcp 0 0 0.0.0.0: 22 0.0.0.0: LISTEN 1188 / sshd tcp 0 0 0::: 22:::: * LISTEN 1188 / sshd 3. curl 검 측, 현재 Nginx 의 상태 정보 획득 [root@web01 nginx]# curl 10.0.0.7/nginx_statusActive connections: 1 server accepts handled requests1 1 1 Reading: 0 Writing: 1 Waiting: 0 BashCopy
  • 스 크 립 트 작성 상태 [root@web01 scripts]# cat nginx_status.sh#!/bin/bash############################################################## File Name: nginx_status.sh Version: V1.0 Author: oldboy Organization: www.oldboyedu.com Created Time : 2019-01-19 20:31:06 Description: ##############################################################NGINX_URL=$2NGINX_PORT=$3

  • [ ! $NGINX_URL ] && {echo $"USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests} url [port]"exit 1 }
    [ ! $NGINX_PORT ] && {NGINX_PORT=80}
    NGINX_COMMAND=$1nginx_active(){/usr/bin/curl -s "http://$NGINX_URL:"$NGINX_PORT"/nginx_status/" |awk '/Active/ {print $NF}'}nginx_reading(){/usr/bin/curl -s "http://$NGINX_URL:"$NGINX_PORT"/nginx_status/" |awk '/Reading/ {print $2}'}nginx_writing(){/usr/bin/curl -s "http://$NGINX_URL:"$NGINX_PORT"/nginx_status/" |awk '/Writing/ {print $4}'}nginx_waiting(){/usr/bin/curl -s "http://$NGINX_URL:"$NGINX_PORT"/nginx_status/" |awk '/Waiting/ {print $6}'}nginx_accepts(){/usr/bin/curl -s "http://$NGINX_URL:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $1}'}nginx_handled(){/usr/bin/curl -s "http://$NGINX_URL:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $2}'}nginx_requests(){/usr/bin/curl -s "http://$NGINX_URL:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $3}'}case $NGINX_COMMAND inactive)nginx_active;;;reading)nginx_reading;;;writing)nginx_writing;;;waiting)nginx_waiting;;;accepts)nginx_accepts;;;handled)nginx_handled;;;requests)nginx_requests;;;*)echo $"USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests} url [port]"esac
    2. 테스트 해 보 겠 습 니 다.
    [root@web01 scripts]# curl 10.0.0.7/nginx_statusActive connections: 1 server accepts handled requests7 7 7 Reading: 0 Writing: 1 Waiting: 0 [root@web01 scripts]# sh nginx_status.sh handled 10.0.0.78[root@web01 scripts]# sh nginx_status.sh active 10.0.0.71[root@web01 scripts]# sh nginx_status. sh requests 10.0.0.710BashCopyNgnix 상태 추적 지표 분석:  active connections > > 백 엔 드 에 대한 활동 연결 수; server accepts handled requests > > nginx 는 모두 [accepts] 개의 연결 을 처리 하여 [handled] 회 악 수 를 성공 적 으로 만 들 었 습 니 다. 총 [requests] 개의 요청 을 처 리 했 습 니 다. writing > > nginx 클 라 이언 트 에 게 되 돌아 오 는 Header 정보 수; waiting > > keep - alive 를 켜 면 이 값 은 active – (reading + writing) 와 같 습 니 다. Nginx 는 다음 요청 명령 을 기다 리 고 있 는 상주 연결 을 처리 했다 는 뜻 입 니 다.

    좋은 웹페이지 즐겨찾기