zoukankan      html  css  js  c++  java
  • Linux下编译安装nginx并且监控

    一、安装Nginx

    使用源码编译安装,包括具体的编译参数信息。

    正式开始前,编译环境gcc g++ 开发库之类的需要提前装好。

    安装make:

    yum -y install gcc automake autoconf libtool make

    安装g++:

    yum install gcc gcc-c++

    一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。

    1.选定源码目录

    可以是任何目录,本文选定的是/usr/local/src

    cd /usr/local/src

    2.安装PCRE库

    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

    cd /usr/local/src
    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

    tar -zxvf pcre-8.39.tar.gzcd pcre-8.39

    ./configure

    make && make install

    3.安装zlib库

    http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

    cd /usr/local/src
    
    wget http://zlib.net/zlib-1.2.11.tar.gz
    
    tar -zxvf zlib-1.2.11.tar.gz
    
    cd zlib-1.2.11
    
    ./configure
    
    make && make install

    4.安装ssl(某些vps默认没装ssl)

    cd /usr/local/src
    
    wget https://www.openssl.org/source/openssl-1.1.0b.tar.gztar -zxvf openssl-1.1.0b.tar.gz
    
    ./config cd 

    make && make install

    5、安装Nginx

    把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

    cd /usr/local/src
     
    wget http://nginx.org/download/nginx-1.10.2.tar.gz 
    
    tar -zxvf nginx-1.10.2.tar.gz 
    
    cd nginx-1.10.2

    1、配置Nginx的安装参数

    ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.39 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.1.0b  --prefix=/usr/local/nginx --with-http_stub_status_module

    2、编译安装

    make && make install

    3、启动Nginx

    /usr/local/nginx/nginx 

    网页访问查看是否正常启动:

    5、配置Nginx的监控选项:

    配置文件路径:

    vi /usr/local/nginx/nginx.conf

    添加如下代码:

    #设定Nginx状态访问地址

    location /NginxStatus {
    
        stub_status on;
    
        access_log on;
    
        auth_basic "NginxStatus";
    
        #auth_basic_user_file conf/htpasswd;
    
    }

    配置完成重启Nginx,命令:

    /usr/local/nginx/nginx  -s reload

    6、状态查看

    配置完成后在浏览器中输入http://ip:监听端口/NginxStatus查看,显示信息如下:

    7、 参数说明

      active connections – 活跃的连接数量

      server accepts handled requests — 总共处理了107520387个连接 , 成功创建107497834次握手, 总共处理了639121056个请求

      每个连接有三种状态waiting、reading、writing

      reading —读取客户端的Header信息数.这个操作只是读取头部信息,读取完后马上进入writing状态,因此时间很短。

      writing — 响应数据到客户端的Header信息数.这个操作不仅读取头部,还要等待服务响应,因此时间比较长。

      waiting — 开启keep-alive后等候下一次请求指令的驻留连接.

      正常情况下waiting数量是比较多的,并不能说明性能差。反而如果reading+writing数量比较多说明服务并发有问题。


    补充:
      查看Nginx并发进程数:ps -ef | grep nginx | wc -l
      查看Web服务器TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

  • 相关阅读:
    python的metaclass
    鱼和水的故事
    iOS的QuickTime Plugin
    二进制/十六进制转浮点数的编程(互转类似)
    Android开发常见错误及技巧
    Mac 热键大全
    Java动态程序设计:反射介绍
    注册asp.net 4.0 到iis
    javascript常用判断写法
    将存储过程执行的结果保存到临时表
  • 原文地址:https://www.cnblogs.com/xiaowenshu/p/10156569.html
Copyright © 2011-2022 走看看