一、Nginx配置文件的整体结构
从图中可以看出主要包含以下几大部分内容:
1. 全局块
该部分配置主要影响Nginx全局,通常包括下面几个部分:
-  配置运行Nginx服务器用户(组) 
-  worker process数 
-  Nginx进程PID存放路径 
-  错误日志的存放路径 
-  配置文件的引入 
2. events块
该部分配置主要影响Nginx服务器与用户的网络连接,主要包括:
-  设置网络连接的序列化 
-  是否允许同时接收多个网络连接 
-  事件驱动模型的选择 
-  最大连接数的配置 
3. http块
-  定义MIMI-Type 
-  自定义服务日志 
-  允许sendfile方式传输文件 
-  连接超时时间 
-  单连接请求数上限 
4. server块
-  配置网络监听 
-  基于名称的虚拟主机配置 
-  基于IP的虚拟主机配置 
5. location块
-  location配置 
-  请求根目录配置 
-  更改location的URI 
-  网站默认首页配置 


二、upstream 模块
upstream 这个模块是写一组被代理的服务器地址(即定义的后端服务器列表中选取一台服务器接受用户的请求 ),然后配置负载均衡的算法。
以下是一个简单的Nginx配置示例,展示了upstream模块的基本用法:
upstream web_test { 
      server 10.10.2.100:80;
      server 10.10.3.100:80;
}
server {
      ....
      location / {         
             proxy_pass  http://web_test;     --请求转向 web_test 定义的服务器列表         
      }在Nginx中,upstream模块用于定义一组后端服务器,这些服务器共同处理客户端请求。通过upstream模块,可以配置负载均衡、高可用性和反向代理等功能。在upstream块中,可以指定多个服务器并定义它们的一些属性,如权重、最大连接数等。
在这个示例中,定义了一个名为web_test的upstream块,里面包含了两个后端服务器的地址和端口号。Nginx可以针对这些服务器执行负载均衡策略,比如轮询、IP哈希、最小连接数等,以实现请求的分发。
通过upstream模块,Nginx能够实现高效的负载均衡和故障转移,提高了系统的可靠性和性能




















