Nginx网站服务
1Nginx概述
1.1nginx的特点
nginx一个具有高性能的HTTP和反向代理的WEB服务器,同时也是一个POP3/SMTP/IMAP代理服务器
一款高性能、轻量级Web服务软件
稳定性高 系统资源消耗低 对HTTP并发连接的处理能力高
Nginx并发连接
NG并发连接能力受以下二个因素的影响:
- CPU个数
- 本地物理服务器系统的最大文件打开数1.2
1.2Nginx应用场景
静态服务器(图片、视频服务)
动态服务 反向代理,负载均衡 缓存服务
使用nginx网站
因为nginx的特点是内有内存少,并发能力强。 国内使用nginx网站用户有: 百度,BWS,新浪,网易,腾讯等 但是 淘宝 再GPL的原则上进行二次开发,出现了现在的 Tengine网站
反向代理解释:是指用户不需要知道目标服务器的地址,也不需要再用户端做任何设定,可以直接通过访问反向代理服务器来获得目标服务器的资源,反向代理提高了内部服务器的安全,加快了对内部服务器的访问速度。
反向代理的优点: ①提高了内部服务器的安全 ②加快了对内部服务器的访问速度 ③节约了有限的IP资源
1.3nginx的HTTP七层代理和四层代理
nginx的http七层代理,其实它工作在OSI七层模型的应用层。由于其可以解析http协议,我们可以根据URI进行请求的分发,具有很大的灵活性,但是协议的解析存在性能的消耗。为了能获取更高的代理性能,
nginx支持了四层代理,即传输层,就是我们常说的TCP/UDP层,没有协议解析,就是简单的TCP/UDP转发,代理性能突飞猛进,该功能依赖于ngx_http_upstream_module和ngx_stream_upstream_module,互联网公司将其作为入口代理来工作。
2.Nginx和Apache的区别
Nginx是一个基于事件的Web服务器,Apache是一个基于流程的服务器。 Nginx所有请求都是由一个线程处理,Apache单个线程处理单个请求。 Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方便一般。 Nginx的性能和伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件。 Nginx支持热部署,Apache不支持热部署。 Nginx对于静态文件处理具有高效率,Apache相对一般。 Nginx在反向代理场景具有明显优势,Apache相对一般。
3Nginx 监控模块(vts模块)
监控Nginx主要用到以下三个模块: 1、nginx-module-vts:Nginx virtual host traffic status module,Nginx的监控模块,能够提供JSON格式的数据产出。 2、nginx-vts-exporter:Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption。主要用于收集Nginx的监控数据,并给Prometheus提供监控接口,默认端口号9913。 3、Prometheus:监控Nginx-vts-exporter提供的Nginx数据,并存储在时序数据库中,可以使用PromQL对时序数据进行查询和聚合。
3.1上传nginx-module-vts-master软件包并解压
3.2安装Nginx依赖环境
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
3.3进行编译安装nginx
3.4加载模块
3.5编译安装
3.6 创建软连接,优化管理
检查配置文件是否配置正确
3.7使用systemctl 管理nginx
给文件安全优化
3.8 开启服务
3.9在http模块里添加以下内容
在location下再加一个location
3.10在虚拟机中测试
4监控模块各字段信
监控列表各项信息 Server main 主服务器 **Host:**主机名 **Version:**版本号 **Uptime:**服务器运行时间 Connections active:当前客户端的连接数 reading:读取客户端连接的总数 writing:写入客户端连接的总数 Requsts accepted:接收客户端的连接总数 handled:已处理客户端的连接总数 Total:请求总数 Req/s:每秒请求的数量 Shared memory:共享内存 name:配置中指定的共享内存名称 maxSize:配置中指定的共享内存的最大限制 usedSize:共享内存的当前大小 usedNode:共享内存中当前使用的节点数 Server zones 服务器区域 zone:当前区域 Requests Total:请求总数 Req/s:每秒请求数 time:时间 Responses:状态码数量 1xx、2xx、3xx、4xx、5xx:表示响应不同状态码数量 Total:响应状态码的总数 Traffic表示流量 Sent:发送的流量 Rcvd:接收的流量 Sent/s:每秒发送的流量 Rcvd/s:每秒接收的流量 Cache表示缓存 Miss:未命中的缓存数 Bypass:避开的缓存数 Expirde:过期的缓存数 Stale:生效的缓存数 Updating:缓存更新的次数 Revalidated:重新验证的缓存书 Hit:缓存命中数 Scarce:未达缓存要求的请求次数Total:总数 he表示缓存 Miss:未命中的缓存数 Bypass:避开的缓存数 Expirde:过期的缓存数 Stale:生效的缓存数 Updating:缓存更新的次数 Revalidated:重新验证的缓存书 Hit:缓存命中数 Scarce:未达缓存要求的请求次数Total:总数
|