Nginx网站服务(nginx监控模块vts、nginx配置文件介绍、nginx多种访问配置)

本文详细介绍了Nginx的特点、应用场景、与Apache的区别,重点讲解了Nginx的vts监控模块的安装与配置,包括上传软件包、安装依赖、修改配置文件等步骤。同时,文章还阐述了Nginx配置文件nginx.conf的全局配置、I/O事件配置、HTTP配置和日志格式设定,以及Nginx服务的配置案例,如访问状态统计、访问控制、基于域名和IP的虚拟主机设置等。
摘要由CSDN通过智能技术生成

目录

一、Nginx概述

1、nginx的特点

2、Nginx应用场景

2.1使用nginx的网站

3、nginx的HTTP七层代理和四层代理

二、Nginx和Apache的区别

三、Nginx 监控模块(vts模块)

1、上传nginx-module-vts-master软件包并解压​​​​​​​

2、安装Nginx依赖环境

3、优化路径及编译安装nginx

4、备份nginx的备份文件

5、修改nginx的配置文件

6、监控模块各字段信

7、一键安装vts监控模块

四、介绍nginx服务的配置文件 nginx.conf

1、全局配置

2、I/O 事件配置

3、HTTP 配置

4、日志格式设定

五、Nginx服务配置案例

1、访问状态统计配置

1、查看统计状态模块

2、设置本地映射

3、修改配置文件

2、基于客户端的访问控制

3、基于域名的 Nginx 虚拟主机 

1、添加域名解析

2、准备虚拟站点网页文档

4、基于端口的虚拟主机

5、基于不同IP访问

1、 添加本机映射

2、临时创建虚拟网卡

3、修改配置文件


一、Nginx概述

1、nginx的特点

nginx一个具有高性能的HTTP反向代理WEB服务器,同时也是一个POP3/SMTP/IMAP代理服务器

一款高性能、轻量级Web服务软件

稳定性高
系统资源消耗低
对HTTP并发连接的处理能力高
单台物理服务器可支持30 000~50 000个并发请求(理论上的)      实际可支持2-3万

Nginx并发连接

NG并发连接能力受以下二个因素的影响:

  1. CPU个数
  2. 本地物理服务器系统的最大文件打开数

2、Nginx应用场景

静态服务器(图片、视频服务)
动态服务
反向代理,负载均衡
缓存服务

2.1使用nginx的网站

因为nginx的特点是内有内存少,并发能力强。
国内使用nginx网站用户有: 百度,BWS,新浪,网易,腾讯等
但是 淘宝 再GPL的原则上进行二次开发,出现了现在的 Tengine网站

反向代理解释:是指用户不需要知道目标服务器的地址,也不需要再用户端做任何设定,可以直接通过访问反向代理服务器来获得目标服务器的资源,反向代理提高了内部服务器的安全,加快了对内部服务器的访问速度。

反向代理的优点:
①提高了内部服务器的安全
②加快了对内部服务器的访问速度
③节约了有限的IP资源

3、nginx的HTTP七层代理和四层代理

nginx的http七层代理,其实它工作在OSI七层模型的应用层。由于其可以解析http协议,我们可以根据URI进行请求的分发,具有很大的灵活性,但是协议的解析存在性能的消耗。为了能获取更高的代理性能,

nginx支持了四层代理,即传输层,就是我们常说的TCP/UDP层,没有协议解析,就是简单的TCP/UDP转发,代理性能突飞猛进,该功能依赖于ngx_http_upstream_module和ngx_stream_upstream_module,互联网公司将其作为入口代理来工作。(版本在1.18之上才支持)

二、Nginx和Apache的区别

Nginx是一个基于事件的Web服务器,Apache是一个基于流程的服务器。
Nginx所有请求都是由一个线程处理,Apache单个线程处理单个请求。
Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方便一般。
Nginx的性能和伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件。
Nginx支持热部署,Apache不支持热部署。
Nginx对于静态文件处理具有高效率,Apache相对一般。
Nginx在反向代理场景具有明显优势,Apache相对一般。

三、Nginx 监控模块(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对时序数据进行查询和聚合。

1、上传nginx-module-vts-master软件包并解压

unzip nginx-module-vts-master.zip 解压

2、安装Nginx依赖环境

yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

3、优化路径及编译安装nginx

 

 优化管理

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin 

检查开启的模块

nginx -v  检查 nginx版本

nginx -V

 watch -n 1 nginx 观察nginx状态

4、备份nginx的备份文件

5、修改nginx的配置文件

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

vim /usr/local/nginx/conf/nginx.conf

进去后再http{ } 中添加如下内容

vhost_traffic_status_zone;            #流量状态监控 

log_format main '{ "@timestamp": "$time_local", '
'"@fields": { '
'"uri":"$request_uri",'
'"url":"$uri",'
'"upstream_addr":"$upstream_addr",'
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"body_bytes_sent": "$body_bytes_sent", '
'"host":"$host",'
'"server_addr":"$server_addr",'
'"request_time": "$request_time", '
'"request_time":"$request_time",'
'"status":"$status",'
'"request": "$request", '
'"request_method": "$request_method", '
'"size":$body_bytes_sent,'
'"upstream_time":"$upstream_response_time"'
'"h

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值