关于nginx:神器-Nginx-的学习手册-建议收藏

3次阅读

共计 11316 个字符,预计需要花费 29 分钟才能阅读完成。

大家好,我是民工哥。

无论是运维、开发、测试,Nginx 技术栈的学习总是必不可少的,只是不同的岗位把握的深度与广度不同而已。所以,民工哥利用周末休息时间,将往期推送的 Nginx 文章给大家重新整理进去,整顿出成体系的 Nginx 常识体系,供大家学习与参考。

码字不易,如有帮忙,请点 在看与转发朋友圈 反对一波,感激!!!!

Nginx 简介

Nginx 是 开源 高性能 高牢靠 Web 反向代理服务器,而且反对热部署,简直能够做到 7 * 24 小时不间断运行,即便运行几个月也不须要重新启动,还能在不间断服务的状况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能反对高达 5w 个并发连接数,最重要的是,Nginx 是收费的并能够商业化,配置应用也比较简单。

官方网站:http://www.nginx.org

Nginx 特点

Web 服务器

高性能的 WEB 服务器软件,与 Apache 相比,它反对更多的并发连贯且占用服务器资源少,效率高

反向代理或负载平衡服务器

作为负载平衡服务器,它能够作为 HTTP SERVER 或 DB 等服务的代理服务器,相似 Haproxy 代理软件的性能,Nginx 的代理性能绝对简略,效率也不迭 Haproxy,同时它也是一个优良的邮件代理服务软件

缓存服务器

Nginx 还能够作缓存服务器,相似于业余的缓存软件性能

Nginx 优缺点

Nginx 长处
  • 高并发:能反对 1 - 2 万甚至更多的并发连贯(动态小文件)
  • 内存耗费少
  • 能够做 HTTP 反向代理——负载平衡的性能
  • 内置对集群节点服务器的衰弱性查性能,不过性能绝对较弱
  • 通过 cache 插件能够实现缓存软件可能实现的性能
Nginx 的毛病

Nginx 仅能反对 http、https 和 Email 协定,这样就在适用范围下面小些,这个是它的毛病

对后端服务器的健康检查,只反对通过端口来检测,不反对通过 url 来检测。不反对 Session 的间接放弃,但能通过 ip_hash 来解决

Nginx 利用场景

Nginx 的最重要的几个应用场景:

  • 动态资源服务,通过本地文件系统提供服务;
  • 反向代理服务,延长出包含缓存、负载平衡等;
  • API 服务,OpenResty;

对于前端来说 Node.js 并不生疏,Nginx 和 Node.js 的很多理念相似,HTTP 服务器、事件驱动、异步非阻塞等,且 Nginx 的大部分性能应用 Node.js 也能够实现,但 Nginx 和 Node.js 并不抵触,都有本人善于的畛域。Nginx 擅长于底层服务器端资源的解决(动态资源解决转发、反向代理,负载平衡等),Node.js 更善于下层具体业务逻辑的解决,两者能够完满组合。

用一张图示意:

Nginx 到底能够做什么?看完这篇你就懂了!

更多对于 Nginx 罕用场景利用配置可参考:

  • 请务必珍藏!Nginx 五大常见利用场景
  • 彻底搞懂 Nginx 五大利用场景!进来吹牛逼再也不放心了

Apache VS Nginx

Apache 和 Nginx 都属于 Web 服务器,两者都实现了 HTTP 1.1 协定。无论是抉择哪个,都是依据利用场景来决定的,所以些文件仅从利用场景登程,来比照两者之间的各自特点。要让正确的工具,做出正确的事。

性能比照

Nginx 和 Apache 一样,都是 HTTP 服务器软件,在性能实现上都采纳模块化结构设计,都反对通用的语言接口,如 PHP、Perl、Python 等,同时还反对正向和反向代理、虚拟主机、URL 重写、压缩传输、SSL 加密传输等。

  • 在性能实现上,Apache 的所有模块都反对动、动态编译,而 Nginx 模块都是动态编译的,
  • 对 FastCGI 的反对,Apache 对 Fcgi 的反对不好,而 Nginx 对 Fcgi 的反对十分好;
  • 在解决连贯形式上,Nginx 反对 epoll,而 Apache 却不反对;
  • 在空间应用上,Nginx 安装包仅仅只有几百 K,和 Nginx 比起来 Apache 相对是硕大无朋。
Nginx 绝对 apache 的长处
  • 轻量级,同样起 web 服务,比 apache 占用更少的内存及资源
  • 动态解决,Nginx 动态解决性能比 Apache 高 3 倍以上
  • 抗并发,nginx 解决申请是异步非阻塞的,而 apache 则是阻塞型的,在高并发下 nginx 能放弃低资源低消耗高性能。在 - – Apache+PHP(prefork)模式下,如果 PHP 解决慢或者前端压力很大的状况下,很容易呈现 Apache 过程数飙升,从而拒绝服务的景象。
  • 高度模块化的设计,编写模块绝对简略
  • 社区沉闷,各种高性能模块出品迅速啊
apache 绝对 nginx 的长处
  • rewrite,比 nginx 的 rewrite 弱小
  • 模块超多,根本想到的都能够找到
  • 少 bug,nginx 的 bug 绝对较多
  • 超稳定
  • Apache 对 PHP 反对比较简单,Nginx 须要配合其余后端用

更多更具体的比拟阐明请参考:Apache VS Nginx,你选对了吗?

Nginx 装置

本文以 CentOS 7.x 零碎为例,应用 yum 装置 Nginx。

yum install nginx -y

装置实现后,通过 rpm -ql nginx 命令查看 Nginx 的装置信息。

# Nginx 配置文件
/etc/nginx/nginx.conf # nginx 主配置文件
/etc/nginx/nginx.conf.default

# 可执行程序文件
/usr/bin/nginx-upgrade
/usr/sbin/nginx

# nginx 库文件
/usr/lib/systemd/system/nginx.service # 用于配置零碎守护过程
/usr/lib64/nginx/modules # Nginx 模块目录

# 帮忙文档
/usr/share/doc/nginx-1.16.1
/usr/share/doc/nginx-1.16.1/CHANGES
/usr/share/doc/nginx-1.16.1/README
/usr/share/doc/nginx-1.16.1/README.dynamic
/usr/share/doc/nginx-1.16.1/UPGRADE-NOTES-1.6-to-1.10

# 动态资源目录
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html

# 寄存 Nginx 日志文件
/var/log/nginx
次要关注的文件夹有两个:
  • /etc/nginx/conf.d/ 是子配置项存放处,/etc/nginx/nginx.conf 主配置文件会默认把这个文件夹中所有子配置项都引入;
  • /usr/share/nginx/html/ 动态文件都放在这个文件夹,也能够依据你本人的习惯放在其余中央;

Nginx 常用命令

systemctl 系统命令:
# 开机配置
systemctl enable nginx # 开机主动启动
systemctl disable nginx # 敞开开机主动启动

# 启动 Nginx
systemctl start nginx # 启动 Nginx 胜利后,能够间接拜访主机 IP,此时会展现 Nginx 默认页面

# 进行 Nginx
systemctl stop nginx

# 重启 Nginx
systemctl restart nginx

# 从新加载 Nginx
systemctl reload nginx

# 查看 Nginx 运行状态
systemctl status nginx

# 查看 Nginx 过程
ps -ef | grep nginx

# 杀死 Nginx 过程
kill -9 pid # 依据下面查看到的 Nginx 过程号,杀死 Nginx 过程,-9 示意强制完结过程
Nginx 应用程序命令:
nginx -s reload  # 向主过程发送信号,从新加载配置文件,热重启
nginx -s reopen  # 重启 
Nginxnginx -s stop    # 疾速敞开
nginx -s quit    # 期待工作过程解决实现后敞开
nginx -T         # 查看以后 Nginx 最终的配置
nginx -t         # 查看配置是否有问题

Nginx 配置文件

Nginx 的配置文件构造如下:

# main 段配置信息
user  nginx;                        # 运行用户,默认即是 nginx,能够不进行设置
worker_processes  auto;             # Nginx 过程数,个别设置为和 CPU 核数一样
error_log  /var/log/nginx/error.log warn;   # Nginx 的谬误日志寄存目录
pid        /var/run/nginx.pid;      # Nginx 服务启动时的 pid 寄存地位

# events 段配置信息
events {use epoll;     # 应用 epoll 的 I / O 模型(如果你不晓得 Nginx 该应用哪种轮询办法,会主动抉择一个最适宜你操作系统的)
    worker_connections 1024;   # 每个过程容许最大并发数
}

# http 段配置信息
# 配置应用最频繁的局部,代理、缓存、日志定义等绝大多数性能和第三方模块的配置都在这里设置
http { 
    # 设置日志模式
    log_format  main  '$remote_addr - $remote_user [$time_local]"$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent""$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;   # Nginx 拜访日志寄存地位

    sendfile            on;   # 开启高效传输模式
    tcp_nopush          on;   # 缩小网络报文段的数量
    tcp_nodelay         on;
    keepalive_timeout   65;   # 放弃连贯的工夫,也叫超时工夫,单位秒
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;      # 文件扩展名与类型映射表
    default_type        application/octet-stream;   # 默认文件类型

    include /etc/nginx/conf.d/*.conf;   # 加载子配置项
    
    # server 段配置信息
    server {
     listen       80;       # 配置监听的端口
     server_name  localhost;    # 配置的域名
      
     # location 段配置信息
     location / {
      root   /usr/share/nginx/html;  # 网站根目录
      index  index.html index.htm;   # 默认首页文件
      deny 172.168.22.11;   # 禁止拜访的 ip 地址,能够为 all
      allow 172.168.33.44;# 容许拜访的 ip 地址,能够为 all
     }
     
     error_page 500 502 503 504 /50x.html;  # 默认 50x 对应的拜访页面
     error_page 400 404 error.html;   # 同上
    }
}
  • main 全局配置,对全局失效;
  • events 配置影响 Nginx 服务器与用户的网络连接;
  • http 配置代理,缓存,日志定义等绝大多数性能和第三方模块的配置;
  • server 配置虚拟主机的相干参数,一个 http 块中能够有多个 server 块;
  • location 用于配置匹配的 uri;
  • upstream 配置后端服务器具体地址,负载平衡配置不可或缺的局部;

更多对于 Nginx 配置文件的介绍能够参考下列文章:

  • 史上最全的 Nginx 配置参数中文阐明
  • Nginx 罕用配置汇总!从入门到干活足矣
  • Nginx 实际:location 门路匹配

如果你平时配置 Nginx 比拟频繁,我举荐你应用这个神器:弱小!Nginx 配置在线一键生成“神器”

Nginx 罕用的内置变量

Nginx 的过程模型

Nginx 服务器,失常运行过程中:
  • 多过程:一个 Master 过程、多个 Worker 过程
  • Master 过程:治理 Worker 过程
  • 对外接口:接管内部的操作(信号)
  • 对内转发:依据内部的操作的不同,通过信号治理 Worker
  • 监控:监控 worker 过程的运行状态,worker 过程异样终止后,主动重启 worker 过程
  • Worker 过程:所有 Worker 过程都是平等的
  • 理论解决:网络申请,由 Worker 过程解决;
  • Worker 过程数量:在 nginx.conf 中配置,个别设置为外围数,充分利用 CPU 资源,同时,防止过程数量过多,防止过程竞争 CPU 资源,减少上下文切换的损耗。

为什么 Nginx 性能如此弱小,能够参考:

  • Nginx 为什么高效?一文搞明确 Nginx 外围原理
  • 从 Nginx 优良的外围架构设计,揭秘其为何能反对高并发?

Nginx 优化配置

其实核心内容次要是通过批改 Nginx 配置文件来进行调优的!

  • Nginx 优化配置详解
  • 减速 Nginx 响应的 5 个措施!

在咱们的日常工作学习中,咱们会该如何去优化本人的 Nginx 服务器?遇到以下问题咱们该如何解决呢?

  • 如何自定义返回给客户端的 404 谬误页面
  • 如何查看服务器状态信息
  • 如何优化 Nginx 并发量
  • …….

这些问题都能够参考这篇文章的解决方案:Nginx 高性能优化配置实战总结

Nginx 是如何实现并发的?为什么 Nginx 不应用多线程?Nginx 常见的优化伎俩有哪些?502 谬误可能起因有哪些?这种面试问题你必定是常常被问到

所以,Nginx 如何实现高并发?常见的优化伎俩有哪些?

对于 Nginx 服务器的平安,在日常应用中也是十分重要的,这里给大家分享一点实践经验:如何构建高效平安的 Nginx Web 服务器

最初给大家分享 2 个基于 HTTPS 优化案例:

  • 基于 Nginx 的 HTTPS 性能优化实际
  • 高性能 Nginx HTTPS 调优!为 HTTPS 提速 30%

Nginx 日志相干

介绍完了装置、配置、优化这些罕用的场景之后,日志这块也是十分重要的,大家都晓得日常排错,日志起着无足轻重的作用。

Nginx 日志次要分为两种:access_log(拜访日志)和 error_log(谬误日志)。通过拜访日志咱们能够失去用户的 IP 地址、浏览器的信息,申请的解决工夫等信息。谬误日志记录了拜访出错的信息,能够帮忙咱们定位谬误的起因。

error_log  /var/log/nginx/error.log warn;
#配置谬误日志的级别及存储目录

events {worker_connections  1024;}
http {
..................
    log_format  main '$remote_addr - $remote_user [$time_local]"$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent""$http_x_forwarded_for"';
    #配置日志的模式
    access_log  /var/log/nginx/access.log main;
    #配置拜访日志存储目录
}

对于 Nginx 日志的配置实际看这篇:Nginx 日志配置实际!超具体

因为 nginx 功能强大,性能突出,越来越多的 web 利用采纳 nginx 作为 http 和反向代理的 web 服务器。而 nginx 的拜访日志不论是做用户行为剖析还是平安剖析都是十分重要的数据源之一。如何无效便捷的采集 nginx 的日志进行无效的剖析成为大家关注的问题。

通过几个实例来介绍如何通过 filebeat、logstash、rsyslog 采集 nginx 的拜访日志和谬误日志,我也能够:利用 ELK 剖析 Nginx 日志。

Nginx 版本升级

这里咱们来聊一聊,在企业理论生产环境中常常遇到的一个状况,如何降级 Nginx 到新的版本和如何回滚至旧版本。

版本升级其实就是针对二进制文件的降级,过程如下:

[root@nginx ~]# /usr/local/nginx-1.12.2/sbin/nginx -v
nginx version: nginx/1.12.2
[root@nginx ~]# cd /usr/local/nginx-1.12.2/sbin/
[root@nginx sbin]# mv nginx nginx-1.12.2
#首先备份原来的旧版本 nginx 二进制文件
[root@nginx sbin]# cp /usr/local/nginx-1.14.2/sbin/nginx ./
#拷贝新版本的二进制文件到当前目录

:其实降级新版本,最重要的就是平滑降级,让前端用户无感知(也就是不中断服务,这个其实不难,生产中多台顺次灰度降级)。

对于降级来说,最难的不是降级,而是回滚,因为在理论生产环境回滚的机率是存在,比方:新版本因为某些未知 bug 导致与现有利用不兼容、或呈现运行不稳固的状况等等。

所以,对于咱们来说,故障回滚是重点。这里给大家举荐我总结的:1 分钟搞定 Nginx 版本的平滑降级与回滚

Nginx 反向代理与负载平衡

反向代理简介

反向代理(Reverse Proxy)形式是指以代理服务器来承受 internet 上的连贯申请,而后将申请转发给外部网络上的服务器,并将从服务器上失去的后果返回给 internet 上申请连贯的客户端,此时代理服务器对外就体现为一个反向代理服务器。反向代理是为服务端服务的,反向代理能够帮忙服务器接管来自客户端的申请,帮忙服务器做申请转发,负载平衡等。

反向代理对服务端是通明的,对咱们是非通明的,即咱们并不知道本人拜访的是代理服务器,而服务器晓得反向代理在为他服务。

配置实例
http {
.............
    upstream product_server{127.0.0.1:8081;}

    upstream admin_server{127.0.0.1:8082;}

    upstream test_server{127.0.0.1:8083;}

server {
      
  #默认指向 product 的 server
  location / {proxy_pass http://product_server;}

  location /product/{proxy_pass http://product_server;}

  location /admin/ {proxy_pass http://admin_server;}

  location /test/ {proxy_pass http://test_server;}
    }
}

如果你对 Nginx 配置中 location 的规定不太熟悉,举荐你看看这篇文章:Nginx 实际:location 门路匹配。nginx 每个 location 都是一个匹配目录,nginx 的策略是:拜访申请来时,会对拜访地址进行解析,从上到下一一匹配,匹配上就执行对应 location 大括号中的策略,并依据策略对申请作出相应。

所以,有时候就因为在配置时,少些了一个字符“/”,就造成拜访不通报错,这种问题是十分觉的故障起因之一,正所谓:Nginx 配置中一个不起眼字符 ”/” 的巨大作用,失之毫厘谬以千里,这篇文章具体进了相干的阐明与举例验证。

反向代理的劣势:
  • 暗藏实在服务器;
  • 负载平衡便于横向裁减后端动静服务;
  • 动静拆散,晋升零碎健壮性;
Nginx 负载平衡

nginx 能实现负载平衡,什么是负载平衡呢?就是说利用部署在不同的服务器上,然而通过对立的域名进入,nginx 则对申请进行散发,将申请散发到不同的服务器下来解决,这样就能够无效的加重了单台服务器的压力。

配置实例
upstream server_pools { 
  server 192.168.1.11:8880   weight=5;
  server 192.168.1.12:9990   weight=1;
  server 192.168.1.13:8989   weight=6;
  #weigth 参数示意权值,权值越高被调配到的几率越大
}
server {  
  listen 80; 
  server_name mingongge.com;
  location / {proxy_pass http://server_pools;}
}
Nginx 实现负载平衡的策略
  • 轮询策略:默认状况下采纳的策略,将所有客户端申请轮询调配给服务端。这种策略是能够失常工作的,然而如果其中某一台服务器压力太大,呈现提早,会影响所有调配在这台服务器下的用户。
  • 最小连接数策略:将申请优先调配给压力较小的服务器,它能够均衡每个队列的长度,并防止向压力大的服务器增加更多的申请。
  • 最快响应工夫策略:优先调配给响应工夫最短的服务器。
  • 客户端 ip 绑定策略:来自同一个 ip 的申请永远只调配一台服务器,无效解决了动静网页存在的 session 共享问题。

想要高可用?搞定负载平衡架构是要害,

对于负载平衡和反向代理的区别能够参考:一文详解负载平衡和反向代理的实在区别,对于 nginx 反向代理和负载平衡策略 实战案例。

Nginx 动静拆散

Nginx 动静拆散是让动静网站里的动静网页依据肯定规定把不变的资源和常常变的资源辨别开来,动静资源做好了拆分当前,咱们就能够依据动态资源的特点将其做缓存操作,这就是网站动态化解决的外围思路。举荐:CentOS 7.3:LAMP 动静拆散部署能够理解一下 Apache 的配置,而后再回过头了解 Nginx 的动静拆散可更直观。

server {  
listen 80;  
server_name mingongge.com;  
location /static {root /wwww/web/web_static_site;}
}

也能够应用上面的办法

location /image {alias /web/nginx/static/image/;}
留神: 应用 alias 开端肯定要增加 /, 并且它只能位于 location 中

应用前后端拆散后,能够很大水平晋升动态资源的访问速度,即便动静服务不可用,动态资源的拜访也不会受到影响。

小试牛刀!Nginx 搭建动态资源服务器,这篇文章是给大家介绍整个搭建过程,十分具体。

Nginx 高级性能

除了负载平衡,Nginx 还能够做很多,限流、缓存、黑白名单等

重定向配置
location / {return 404; #间接返回状态码}
location / {return 404 "pages not found"; #返回状态码 + 一段文本}
location / {return 302 /blog ; #返回状态码 + 重定向地址}
location / {return https://www.mingongge.com ; #返回重定向地址}

示例如下

server { 
listen 80;
server_name www.mingongge.com;
return 301 http://mingongge.com$request_uri;
}
server {
listen 80; 
server_name www.mingongge.com; 
location /cn-url {return 301 http://mingongge.com.cn;}
}
server{
  listen 80;
  server_name mingongge.com; # 要在本地 hosts 文件进行配置
  root html;
  location /search {rewrite ^/(.*) https://www.mingongge.com redirect;
  }
  
  location /images {rewrite /images/(.*) /pics/$1;
  }
  
  location /pics {rewrite /pics/(.*) /photos/$1;
  }
  
  location /photos {}}
流量拷贝

需要:将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多益处,比方:

  • 能够验证性能是否失常,以及服务的性能;
  • 用真实有效的流量申请去验证,又不必造数据,不影响线上失常拜访;
  • 这跟灰度公布还不太一样,镜像流量不会影响实在流量;
  • 能够用来排查线上问题;
  • 重构,如果服务做了重构,这也是一种测试形式;

为了实现流量拷贝,Nginx 提供了 ngx_http_mirror_module 模块,这就是 Nginx 又一牛 X 的性能!流量拷贝

限流

Nginx 按申请速率限速模块应用的是漏桶算法,即可能强行保障申请的实时处理速度不会超过设置的阈值。

Nginx 官网版本限度 IP 的连贯和并发别离有两个模块:

  • limit_req_zone 用来限度单位工夫内的申请数,即速率限度, 采纳的漏桶算法 “leaky bucket”。
  • limit_req_conn 用来限度同一时间连接数,即并发限度。

葵花宝典!一文搞定 Nginx 限流配置

缓存

Nginx 缓存作为性能优化的一个重要伎俩,能够极大加重后端服务器的负载。上面咱们将介绍 Nginx 缓存配置的相干指令以及 http 缓存机制,以及 Nginx 缓存实际案例剖析。

可参考:Nginx 缓存机制详解!

灰度公布

执行过程:

  • 当用户申请达到前端代理服务 Nginx,内嵌的 lua 模块解析 Nginx 配置文件中的 lua 脚本代码;
  • Lua 变量取得客户端 IP 地址,去查问 memcached 缓存内是否有该键值,如果有返回值执行 @client_test,否则执行 @client。
  • Location @client_test 把申请转发给部署了 new 版代码的服务器,location @client 把申请转发给部署了 normal 版代码的服务器,服务器返回后果。整个过程实现。

上面是装置配置过程具体过程:基于 Nginx+lua+Memcache 实现灰度公布

这里还给大家举荐一篇文章:基于 Nginx 实现灰度公布与 AB 测试

封杀歹意拜访

看了 nginx 的拜访日志,发现每天有好多国外的 IP 地址来拜访我的网站,并且拜访的内容基本上都是歹意的。因而我决定禁止国外 IP 来拜访我的网站

想要实现这个性能有很多办法,上面我就来介绍基于 NGINX 的 ngx_http_geoip2 模块 来禁止国外 IP 拜访网站。具体的解决方案配置如:通过 Nginx 来实现封杀歹意拜访

Nginx+keepalived 实现高可用

Keepalived 软件起初是专为 LVS 负载平衡软件设计的,用来治理并监控 LVS 集群零碎中各个服务节点的状态,起初又退出了能够实现高可用的 VRRP (Virtual Router Redundancy Protocol , 虚构路由器冗余协定)性能。因而,Keepalived 除了可能治理 LVS 软件外,还能够作为其余服务(例如:Nginx、Haproxy、MySQL 等)的高可用解决方案软件。keepalived 高可用集群服务

装置及配置过程请参考:Nginx+keepalived 实现高可用,防盗链及动静拆散配置,写得太好了!

Nginx 终极指南

介绍用来进步 Nginx 服务器的安全性,稳定性和性能的 12 种操作。

  • 放弃 Nginx 的及时降级
  • 去掉不必的 Nginx 模块
  • 禁用 server_tokens 项
  • 禁止非法的 HTTP User Agents
  • 禁掉不须要的 HTTP 办法
  • 设置缓冲区容量下限
  • 限度最大连接数
  • 设置日志监控
  • 阻止图片外链
  • 禁止 SSL 并且只关上 TLS
  • 证书加密(HTTPS)
  • 重定向 HTTP 申请到 HTTPS

以上 12 个具体的配置过程可参考:进步 Nginx 服务器硬度的 12 个技巧

Nginx 监控

监控 Web 服务器对于查看网站上产生的状况至关重要。关注最多的便是日志变动,查看实时日志文件变动大家第一反馈应该是 ’tail -f /path/to/log’ 命令吧,然而如果每个网站的拜访日志都是应用这种形式查看也是相当解体的,明天小编就跟大家分享一个弱小的 Nginx 日志监控工具。

一个小工具帮你搞定实时监控 Nginx 服务器

日常生产环境搭建了 Nginx 集群后,就须要持续深入研究的就是日常 Nginx 监控。Nginx 如何监控?置信百度就能够找到:nginx-status

通过 Nginx-status,实时获取到 Nginx 监控数据后,如何和现有监控系统集成?一个很好的解决方案:Nginx+Telegraf+Influxdb+Grafana

即通过 Telegraf 监控插件定时收集 Nginx 的监控状态,存储到时序数据库 Influxdb 中,而后通过 Grafana 展示即可。

这是我发现的又一款治理神器,能够实现配置管理,和性能监控。具体的装置与配置过程,在这篇文章:又一款 Nginx 治理可视化神器!配置、监控一条龙 中介绍过了。

Nginx 常识体系动静更新地址

对于 Nginx 常识体系动静更新地址,大家能够继续关注民工哥技术之路公众号,而后查阅 Nginx 技术专栏 能够实时查看更新的文章,无论是学习、还是查漏补缺都是十分实用的技术手册。

正文完
 0