Chinaunix首页 | 论坛 | 博客

OPS

  • 博客访问: 489274
  • 博文数量: 117
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1210
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-05 14:50
个人简介

hellow 运维

文章分类

全部博文(117)

文章存档

2019年(1)

2018年(1)

2017年(45)

2016年(38)

2015年(32)

我的朋友

分类: 系统运维

2016-07-12 10:50:34

1,编译安装nginx


wget
yum -y install pcre-devel pcre openssl openssl-devel
groupadd -r nginx
useradd -g nginx -r nginx


tar xf
ln -sv nginx-1.9.15 nginx
cd nginx 
./configure \
--prefix=/usr/local/nginx \
--conf-path=/etc/nginx/nginx.conf \
--user=nginx --group=nginx \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_flv_module \
--with-http_mp4_module \
--http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
make && make install
mkdir -pv /var/tmp/nginx/{client,fastcgi,proxy,uwsgi}
配置文件:


[root@test.com nginx]# cat /etc/nginx/nginx.conf
user  nginx;
worker_processes  1;
worker_rlimit_nofile 51200;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    sendfile        on;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    '$host "$request_uri" $status'
    '"$http_referer" "$http_user_agent"';
    tcp_nopush on;
    keepalive_timeout 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    client_max_body_size 10m;
    client_body_buffer_size 256k;
    client_body_temp_path /usr/local/nginx/client_body_temp;
    proxy_temp_path /usr/local/nginx/proxy_temp;
    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
    fastcgi_intercept_errors on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain APplication/x-javascript text/css text/htmapplication/xml;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
include /etc/nginx/conf.d/status.conf;
}
status状态


[root@test.com nginx]# mkdir /etc/nginx/conf.d/
[root@test.com nginx]# cat /etc/nginx/conf.d/status.conf 
server {
        listen          81;
    server_name localhost;
    location /nginx_status {
    stub_status on;
#   auth_basic "Only for VIPs";
#   auth_basic_user_file /etc/nginx/users/.htpasswd;
    access_log off;
#   allow 127.0.0.0/24;
#   allow 192.168.0.0/24;
#   deny all;
    }
    }
[root@test.com nginx]# 
nginx启动脚本


[root@test.com nginx]# cat /etc/init.d/nginx 
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings


NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/etc/nginx/nginx.conf"
NGINX_PID="/var/run/nginx/nginx.pid"
RETVAL=0
prog="Nginx"


start() {
        echo -n $"Starting $prog: "
        mkdir -p /dev/shm/nginx_temp
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}


stop() {
        echo -n $"Stopping $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -TERM
        rm -rf /dev/shm/nginx_temp
        RETVAL=$?
        echo
        return $RETVAL
}


reload(){
        echo -n $"Reloading $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}


restart(){
        stop
        start
}


configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}


case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac


exit $RETVAL
[root@test.com nginx]# /etc/init.d/nginx restart
Stopping Nginx:                                            [  OK  ]
Starting Nginx:                                            [  OK  ]
[root@test.com nginx]# ss -tlnp|grep nginx
LISTEN     0      128                       *:80                       *:*      users:(("nginx",74903,6),("nginx",74904,6))
LISTEN     0      128                       *:81                       *:*      users:(("nginx",74903,7),("nginx",74904,7))
[root@test.com nginx]# mkdir /etc/zabbix/scripts/
测试:


[root@test.com local]# curl 192.168.0.121:80/nginx_status
Active connections: 1 
server accepts handled requests
 9 9 19 
Reading: 0 Writing: 1 Waiting: 0 
[root@test.com local]# 
nginx获取key脚本


[root@test.com nginx]# mkdir /etc/zabbix/scripts/
[root@test.com zabbix_agentd.d]# vim /etc/zabbix/scripts/nginx-status.sh
#!/bin/bash
dBKUP_DATE=`date +%Y%m%d`
LOG="/var/log/zabbix/nginx-status.log"
HOST=`ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'`
PORT="80"
function active {
 /usr/bin/curl "" 2>/dev/null|
     grep 'Active' | awk '{print $NF}'
        }
function reading {
 /usr/bin/curl "" 2>/dev/null| 
     grep 'Reading' | awk '{print $2}'
       }
function writing {
 /usr/bin/curl "" 2>/dev/null| 
      grep 'Writing' | awk '{print $4}'
       }
function waiting {
  /usr/bin/curl "" 2>/dev/null| 
       grep 'Waiting' | awk '{print $6}'
       }
function accepts {
  /usr/bin/curl "" 2>/dev/null| 
       awk NR==3 | awk '{print $1}'
       }
function handled {
 /usr/bin/curl "" 2>/dev/null| 
       awk NR==3 | awk '{print $2}'
       }
function requests {
  /usr/bin/curl "" 2>/dev/null| 
       awk NR==3 | awk '{print $3}'
       }
# Run the requested function
$1


chmod +x nginx-status.sh 
添加到/etc/zabbix/zabbix_agentd.d/nginx-status.conf


vim /etc/zabbix/zabbix_agentd.d/nginx-status.conf
UserParameter=nginx.accepts,/etc/zabbix/scripts/nginx-status.sh accepts
UserParameter=nginx.handled,/etc/zabbix/scripts/nginx-status.sh handled
UserParameter=nginx.requests,/etc/zabbix/scripts/nginx-status.sh requests
UserParameter=nginx.connections.active,/etc/zabbix/scripts/nginx-status.sh active
UserParameter=nginx.connections.reading,/etc/zabbix/scripts/nginx-status.sh reading
UserParameter=nginx.connections.writing,/etc/scripts/nginx-status.sh writing
UserParameter=nginx.connections.waiting,/etc/zabbix/scripts/nginx-status.sh waiting
nginx-reading.png
nginx-server.png

zabbix监控图片
 

阅读(1173) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~