Linux下编译安装nginx并且监控

Posted 小文叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]}\'

以上是关于Linux下编译安装nginx并且监控的主要内容,如果未能解决你的问题,请参考以下文章

linux下编译安装nginx

Linux下编译安装Lnmp

Linux(CentOS6.5)下编译安装Nginx1.10.1

Linux(CentOS6.5)下编译安装Nginx1.10.1

centos7下编译安装lnmp和nginx代理实验

在Ubuntu下编译安装nginx