Nginx服务
一、HTTP 属于应用层
- 80端口对应的服务是Nginx,Apache服务
- Nginx,Apache服务用的协议是http协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP工作在 TCP/IP协议体系中的TCP协议上,是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查 询结果等)。
1、HTTP 工作原理
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端(web服务端)发送的请求报文,这个请求报文包含了请求方法、URL协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或错误代码、服务器信息、响应头部和响应数据。
Web服务器有:Nginx,Apache服务器,IIS服务器(Internet Information Services)等。
Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP默认端口号为80,但是你也可以改为其他端口。
CGI
通用网关接口(Common Gateway Interface/CGI)描述了客户端和服务器程序之间传输数据的一种标准,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI 程序可以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行
2、HTTP 消息结构
HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。HTTP是无状态协议,意味着服务器不会保留关于客户端或请求的任何信息,每个请求都是独立的,即使是在持久连接(如Keep-Alive)的情况下也是如此。
一个HTTP"客户端"是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。
一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。
HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。
3、客户端请求消息
HTTP 报文可以分为两类:请求报文(request message)和响应报文(response message),两者的基本报文结构相同。
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。
4、服务器响应消息
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
实例
下面实例是一点典型的使用GET来传递数据的实例:
客户端请求:
# curl -v http://www.testpm.cn
Connected to www.testpm.cn (47.244.247.240) port 80 (#0)
> GET /hello.txt HTTP/1.1 # 请求方式与版本协议。
> User-Agent: curl/7.29.0 #用什么客户端访问
> Host: www.testpm.cn #主机名,域名。主机和端口号,
> Accept: */* #匹配什么文件类型,“*” 是通用匹配。匹配所有类型
服务端响应:
< HTTP/1.1 200 OK #请求返回的状态码
< Server: nginx/1.16.0 #请求的服务和版本号
< Date: Thu, 04 Jul 2019 08:19:40 GMT #当前时间,北京时间为GMT+8小时
< Content-Type: text/plain #mime类型,test/plain:普通文本,比如image/png...、video
< Content-Length: 12 #内容的长度
< Last-Modified: Thu, 04 Jul 2019 08:13:25 GMT #最后修改时间
< Connection: keep-alive #是否支持长连接
< ETag: "5d1db525-c" #标识,每次访问如果与最开始的值一样返回304否则校验不一致返回200
< Accept-Ranges: bytes #接受的范围单位
输出结果:
hello world
经典面试题(重点)
在浏览器地址栏键入 URL,按下回车之后会经历什么?
浏览器向 DNS 服务器请求解析该 URL 中域名对应的 IP 地址;
解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立 TCP 连接;
服务器发出读取文件的HTTP请求(URL 中域名后面部分对应的文件),(该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器);
服务器对浏览器请求作出响应,并把对应的HTML文本发送给浏览器;
释放TCP连接;
浏览器将HTML文档渲染并显示内容;
5、HTTP 请求方法
-
检查 Web 访问情况
-
curl -I ip地址 向指定的 IP 地址发送 HTTP 请求,仅获取响应的头部信息
-
**curl -v ip地址 **可以看网站的响应主体,展示与服务器之间的详细交互信息
根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
以下是常见的 HTTP 请求方法(HTTP Request Methods) 及其核心作用、应用场景和特性总结:
1. GET
- 用途:获取资源(只读操作)。
- 特点:
- 安全(Safe):不会修改服务器资源。
- 示例:
- 访问网页:
GET /index.html
- 查询用户信息:
GET /users/123
- 访问网页:
- 注意:
- 参数通过 URL 传递(如
/users?id=123
)。 - 不应用于提交敏感数据(URL 可能被日志记录)。
- 参数通过 URL 传递(如
2. POST
- 用途:提交数据(通常用于创建资源或触发操作)。
- 示例:
- 提交表单:
POST /login
(提交用户名密码)。 - 创建订单:
POST /orders
(提交订单数据)。
- 提交表单:
3. PUT
- 用途:替换或更新整个资源(需提供完整数据)。
- 特点:
- 不安全(Non-Safe):修改资源。
- 示例:
- 更新用户信息:
PUT /users/123
(提供完整的用户数据)。
- 更新用户信息:
4. DELETE
- 用途:删除指定资源。
- 特点:
- 不安全(Non-Safe):删除资源。
- 示例:
- 删除文章:
DELETE /posts/456
- 删除文章:
5. PATCH
- 用途:部分更新资源(仅提交需修改的字段)。
- 特点:
- 不安全(Non-Safe):修改资源。
6. HEAD
- 用途:获取资源的元数据(如响应头,不返回响应体)。
- 特点:
- 安全(Safe):不修改资源。
- 示例:
- 检查资源是否存在:
HEAD /files/report.pdf
- 验证缓存有效性(通过
Last-Modified
或ETag
头)。
- 检查资源是否存在:
7. OPTIONS
- 用途:查询服务器支持的请求方法。
- 示例:
- 获取
/users
支持的 HTTP 方法:OPTIONS /users
- 响应头包含:
Allow: GET, POST, HEAD
- 获取
8. TRACE
- 用途:回显客户端请求(用于调试)。
9. CONNECT
- 用途:建立隧道连接(通常用于 HTTPS 代理)。
- 示例:
- 代理服务器中转 HTTPS 请求:
CONNECT example.com:443 HTTP/1.1
- 代理服务器中转 HTTPS 请求:
总结对比表
方法 | 用途 | 安全 | 幂等 | 请求体支持 |
---|---|---|---|---|
GET | 获取资源 | ✔️ | ✔️ | ❌ |
POST | 提交数据 | ❌ | ❌ | ✔️ |
PUT | 替换或创建资源 | ❌ | ✔️ | ✔️ |
DELETE | 删除资源 | ❌ | ✔️ | ❌ |
PATCH | 部分更新资源 | ❌ | △ | ✔️ |
HEAD | 获取元数据 | ✔️ | ✔️ | ❌ |
OPTIONS | 查询支持的方法 | ✔️ | ✔️ | ❌ |
TRACE | 回显请求(调试) | ✔️ | ✔️ | ❌ |
CONNECT | 建立隧道(如 HTTPS) | ❌ | ❌ | ✔️ |
核心概念
1. 安全性(Safe Methods)
- 定义:请求不会修改服务器资源(如 GET、HEAD、OPTIONS)。
- 意义:允许浏览器预加载或爬虫安全访问。
2. 幂等性(Idempotent Methods)
- 定义:多次请求效果相同(如 GET、PUT、DELETE)。
- 意义:网络超时后可安全重试。
掌握 HTTP 请求方法是构建高效、可靠 Web 应用和 API 的基础。正确使用方法可提升安全性、可维护性,并与 RESTful 设计原则保持一致。
6、HTTP 响应头信息
HTTP 响应字段(HTTP Response Headers)是服务器在返回 HTTP 响应时附加的元数据,用于向客户端(如浏览器)传递关于响应的附加信息。以下是常见的 HTTP 响应字段及其作用:
通用字段(General Headers)
- Cache-Control
- 用途:控制缓存行为(如
public
,private
,max-age
,no-cache
)。 - 示例:
Cache-Control: max-age=3600
(缓存 1 小时)。
- 用途:控制缓存行为(如
- Connection
- 用途:管理网络连接(如
keep-alive
或close
)。 - 示例:
Connection: keep-alive
(保持长连接)。
- 用途:管理网络连接(如
- Date
- 用途:响应生成的日期和时间(GMT 格式)。
- 示例:
Date: Tue, 15 Aug 2023 12:00:00 GMT
。
响应字段(Response Headers)
- Status
- 用途:显示 HTTP 状态码和状态短语(实际由协议行传递,非显式头字段)。
- 示例:
HTTP/1.1 200 OK
。
- Server
- 用途:标识服务器软件(如 Apache、Nginx)。
- 示例:
Server: nginx/1.18.0
。
- Location
- 用途:重定向目标 URL(常用于
3xx
状态码)。 - 示例:
Location: https://example.com/new-page
。
- 用途:重定向目标 URL(常用于
- Set-Cookie
- 用途:向客户端设置 Cookie。
- 示例:
Set-Cookie: sessionId=abc123; Path=/; Secure
。
- Retry-After
- 用途:客户端应等待多久后重试请求(用于
503
服务不可用)。 - 示例:
Retry-After: 3600
(1 小时后重试)。
- 用途:客户端应等待多久后重试请求(用于
实体字段(Entity Headers)
- Content-Type
- 用途:响应体的媒体类型(如
text/html
,application/json
)。 - 示例:
Content-Type: application/json; charset=utf-8
。
- 用途:响应体的媒体类型(如
- Content-Length
- 用途:响应体的字节长度。
- 示例:
Content-Length: 1024
。
- Content-Encoding
- 用途:响应体的压缩方式(如
gzip
,br
)。 - 示例:
Content-Encoding: gzip
。
- 用途:响应体的压缩方式(如
- Content-Disposition
- 用途:指示客户端如何处理内容(如下载文件)。
- 示例:
Content-Disposition: attachment; filename="file.txt"
。
- Last-Modified
- 用途:资源最后修改时间(用于缓存验证)。
- 示例:
Last-Modified: Tue, 15 Aug 2023 10:00:00 GMT
。
- ETag
- 用途:资源版本的唯一标识符(用于缓存验证)。
- 示例:
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
。
安全相关字段(Security Headers)
- Strict-Transport-Security (HSTS)
- 用途:强制使用 HTTPS(防止降级攻击)。
- 示例:
Strict-Transport-Security: max-age=31536000; includeSubDomains
。
- Content-Security-Policy (CSP)
- 用途:限制页面加载资源的来源(防止 XSS)。
- 示例:
Content-Security-Policy: default-src 'self'
。
- X-Content-Type-Options
- 用途:禁止浏览器猜测 MIME 类型(防止 MIME 类型嗅探)。
- 示例:
X-Content-Type-Options: nosniff
。
- X-Frame-Options
- 用途:阻止页面在
<frame>
中加载(防止点击劫持)。 - 示例:
X-Frame-Options: DENY
。
- 用途:阻止页面在
- Permissions-Policy
- 用途:控制浏览器功能(如摄像头、地理位置)的访问权限。
- 示例:
Permissions-Policy: geolocation=()
(禁用地理位置)。
CORS 相关字段(跨域资源共享)
- Access-Control-Allow-Origin
- 用途:允许跨域请求的源(如
*
或特定域名)。 - 示例:
Access-Control-Allow-Origin: https://example.com
。
- 用途:允许跨域请求的源(如
- Access-Control-Allow-Methods
- 用途:允许的 HTTP 方法(如
GET
,POST
)。 - 示例:
Access-Control-Allow-Methods: GET, POST, OPTIONS
。
- 用途:允许的 HTTP 方法(如
其他常用字段
- WWW-Authenticate
- 用途:定义身份验证方式(用于
401 Unauthorized
)。 - 示例:
WWW-Authenticate: Basic realm="Access to site"
。
- 用途:定义身份验证方式(用于
- Link
- 用途:定义资源之间的关系(如预加载)。
- 示例:
Link: </style.css>; rel=preload; as=style
。
7、HTTP 状态码
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
HTTP状态码的英文为HTTP Status Code。
下面是常见的HTTP状态码:
- 200 - 请求成功
- 301 - 资源(网页等)被永久转移到其它URL
- 302 - 资源临时移动到新 URL(浏览器不会缓存)
- 304 - 资源未修改(客户端可使用缓存版本)
- 403 - 服务器拒绝请求(权限不足),做了访问控制
- 404 - 请求的资源(网页等)不存在
- 500及以上 - 内部服务器错误
- 502,504 - 代理出现了问题,nginx反向代理
- 503 - 服务器暂时不可用(如维护或过载)
HTTP状态码分类
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
1xx(信息响应)
- 100 Continue
- 用途:客户端应继续发送请求的剩余部分(常用于大文件上传前的确认)。
- 示例:客户端发送
Expect: 100-continue
,服务器确认可继续。
- 101 Switching Protocols
- 用途:服务器同意切换协议(如从 HTTP 升级到 WebSocket)。
- 示例:WebSocket 握手时返回此状态码。
2xx(成功响应)
- 200 OK
- 用途:请求成功,响应中包含请求的数据(如网页、JSON)。
- 示例:访问页面或 API 返回数据时常见。
- 201 Created
- 用途:资源已成功创建(常见于 POST 请求)。
- 示例:提交表单后返回新资源的 URL(如
Location: /users/123
)。
- 202 Accepted
- 用途:请求已接受,但处理尚未完成(异步任务)。
- 示例:长时间任务(如视频转码)的初始响应。
- 204 No Content
- 用途:请求成功,但无返回内容(常见于 DELETE 或 PUT 请求)。
- 示例:删除资源后返回空响应。
- 206 Partial Content
- 用途:部分内容响应(用于分块下载或断点续传)。
- 示例:视频播放器请求指定字节范围时返回。
3xx(重定向响应)
- 301 Moved Permanently
- 用途:资源已永久移动到新 URL(浏览器会缓存重定向)。
- 示例:网站更换域名时使用
Location: https://new-domain.com
。
- 302 Found
- 用途:资源临时移动到新 URL(浏览器不会缓存)。
- 示例:临时维护页面跳转。
- 304 Not Modified
- 用途:资源未修改(客户端可使用缓存版本)。
- 触发条件:客户端发送
If-Modified-Since
或If-None-Match
头,服务器验证后返回。
- 307 Temporary Redirect
- 用途:临时重定向(强制保持原请求方法,如 POST)。
- 示例:表单提交时临时跳转。
- 308 Permanent Redirect
- 用途:永久重定向(强制保持原请求方法)。
- 示例:API 路径永久迁移。
4xx(客户端错误)
- 400 Bad Request
- 用途:请求格式错误(如参数缺失、JSON 语法错误)。
- 示例:客户端发送了无效的请求体。
- 401 Unauthorized
- 用途:未提供有效身份验证凭证。
- 示例:访问需要登录的页面时未携带 Token。
- 403 Forbidden
- 用途:服务器拒绝请求(权限不足)。
- 示例:普通用户尝试访问管理员页面。
- 404 Not Found
- 用途:请求的资源不存在。
- 示例:访问的 URL 路径错误或资源已被删除。
- 405 Method Not Allowed
- 用途:请求方法不被允许(如对只支持 GET 的接口发送 POST)。
- 示例:
Allow: GET, HEAD
标明支持的 HTTP 方法。
- 408 Request Timeout
- 用途:服务器等待请求超时。
- 示例:客户端上传大文件时网络中断。
- 409 Conflict
- 用途:请求与服务器当前状态冲突(如重复提交)。
- 示例:修改资源时版本号冲突。
- 413 Payload Too Large
- 用途:请求体超过服务器限制。
- 示例:上传文件超过
nginx
的client_max_body_size
。
- 429 Too Many Requests
- 用途:客户端请求频率过高。
- 示例:API 限流时返回
Retry-After: 60
。
5xx(服务器错误)
- 500 Internal Server Error
- 用途:服务器内部错误(未具体说明的通用错误)。
- 示例:后端代码抛出未捕获的异常。
- 501 Not Implemented
- 用途:服务器不支持请求的功能。
- 示例:客户端请求了服务器未实现的 HTTP 方法。
- 502 Bad Gateway
- 用途:网关或代理服务器从上游服务器收到无效响应。
- 示例:Nginx 作为反向代理时,后端服务崩溃。
- 503 Service Unavailable
- 用途:服务器暂时不可用(如维护或过载)。
- 示例:高流量时返回
Retry-After: 3600
。
- 504 Gateway Timeout
- 用途:网关或代理服务器等待上游响应超时。
- 示例:后端服务处理时间过长,导致 Nginx 超时。
- 505 HTTP Version Not Supported
- 用途:服务器不支持请求的 HTTP 版本。
- 示例:客户端使用 HTTP/3,但服务器仅支持 HTTP/1.1。
其他特殊状态码
- 418 I’m a teapot
- 用途:玩笑状态码(来自 1998 年愚人节 RFC 文档)。
- 示例:用于测试或幽默场景。
- 451 Unavailable For Legal Reasons
- 用途:因法律原因不可访问(如政府审查)。
- 示例:某些国家/地区限制访问特定内容。
常见应用场景
- 调试 API
- 通过状态码快速定位问题:
400
:检查请求参数格式。401
:验证 Token 或 Cookie。403
:检查用户权限。500
:查看服务器日志。
- 通过状态码快速定位问题:
- SEO 优化
- 使用
301
而非302
重定向以传递页面权重。 - 避免链式重定向(如多次跳转)影响爬虫效率。
- 使用
- 缓存控制
304
可减少重复传输,提升性能。- 结合
Cache-Control
和ETag
实现高效缓存策略。
二、nginx 进阶基础
1、nginx 介绍
- 高性能、高并发、高扩展,地址重写,负载均衡,是一个web服务器和反向代理服务器,消耗系统资源低
**Nginx (engine x) 是一个轻量级,高性能的 HTTP 和 反向代理 服务,也是一个IMAP/POP3/SMTP服务。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。其特点是占有内存少,并发能力强,**事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
创始人伊戈尔·赛索耶夫
2、为什么选择 nginx(优势)
1.高并发,高性能---采用epoll模型监控所有连接,采用异步,非阻塞的的方式实现的请求处理
2.高可靠---可以7*24小时不间断运行
3.可扩展性强--模块化设计,使得添加模块非常的平稳。
4.热部署--可以在不停止服务器的情况下升级nginx
5.BSD许可证--nginx不止开源免费的我们还可以更具实际需求进行定制修改源代码
Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:
单机环境下参考服务器配置。 并发连接数在7000+ -8000左右。 集群模式20000+
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应。
作为负载均衡服务器:可以进行自定义配置,支持虚拟主机,支持URL重定向。Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。还能够在不间断服务的情况下进行软件版本的升级。yum安装与编译安装
1、IO多路复用
- 采用epoll模型监控所有连接,通过IO多路复用的方式,采用异步,非阻塞的的方式实现的请求处理,从而实现高性能、高并发
1、I/O multiplexing【多并发】
第一种方法就是最传统的多进程并发模型 (每进来一个新的I/O流会分配一个新的线程管理。)
第二种方法就是I/O多路复用 (单个线程,通过记录跟踪每个I/O流(sock)的状态,来同时管理多个I/O流 。)
I/O multiplexing 这里面的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态来同时管理多个I/O流。发明它的原因,是尽量多的提高服务器的吞吐能力。在同一个线程里面, 通过拨开关的方式,来同时传输多个I/O流
2、nginx基于事件驱动模型实现I/O多路复用
一个请求到来了,nginx使用epoll接收请求的过程是怎样的?
- epoll.
• epoll 现在是线程安全的。
• epoll 现在不仅告诉你sock组里面数据,还会告诉你具体哪个sock有数据,你不用自己去找了。
#ngnix会有很多连接进来, 默认采用epoll会把他们都监视起来,然后像拨开关一样,谁有数据就拨向谁,然后调用相应的代码处理。
3、异步,非阻塞
$ pstree |grep nginx
|-+= 81666 root nginx: master process nginx
| |— 82500 nobody nginx: worker process
| — 82501 nobody nginx: worker process
1个master进程,n个work进程
每进来一个request,会有一个worker进程去处理。但不是全程的处理,处理到什么程度呢?处理到可能发生阻塞的地方,比如向上游(后端)服务器转发request,并等待请求返回。那么,这个处理的worker不会这么一直等着,他会在发送完请求后,注册一个事件:“如果upstream返回了,告诉我一声,我再接着干”。于是他就休息去了。这就是异步。此时,如果再有request 进来,他就可以很快再按这种方式处理。这就是非阻塞和IO多路复用。而一旦上游服务器返回了,就会触发这个事件,worker才会来接手,这个request才会接着往下走。这就是异步回调。
我们为什么更喜欢用Nginx 呢,Nginx 相对Apache 有那些有点呢?
- 轻量级,同样是web服务比Apache占用更少的内存及资源
- 静态处理,Nginx 静态处理性能比 Apache 高 3倍以上
- 抗并发,Nginx 处理请求是异步非阻塞的,而Apache则是阻塞型的。在高并发下Nginx 能保持低资源低消耗高性能。
- 高度模块化的设计,编写模块相对简单
3.nginx安装部署和配置管理
1、nginx部署-Yum安装
访问nginx的官方网站:http://www.nginx.org/
Nginx版本类型
Mainline version: 主线版,即开发版
Stable version: 最新稳定版,生产环境上建议使用的版本
Legacy versions: 遗留的老版本的稳定版
Yum安装nginx
配置Yum源的官网:http://nginx.org/en/linux_packages.html
1、配置nginx的Yum源
Installation instructions
Before you install nginx for the first time on a new machine, you need to set up the nginx packages repository. Afterward, you can install and update nginx from the repository.
安装说明
在新计算机上首次安装nginx之前,需要设置nginx软件包存储库。 之后,您可以从存储库安装和更新nginx。
RHEL/CENTOS
Install the prerequisites:
sudo yum install yum-utils -y
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
sudo yum install nginx -y
这里我们用稳定版本
[root@nginx-server yum.repos.d]# yum install -y nginx
[root@nginx-server yum.repos.d]# nginx -V //格式化打印
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
[root@nginx-server yum.repos.d]# nginx -v #查看版本号
nginx version: nginx/1.16.0
关闭防火墙和selinux
[root@nginx-server ~]# getenforce
Enforcing
[root@nginx-server ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
[root@nginx-server ~]# systemctl stop firewalld
[root@nginx-server ~]# systemctl disable firewalld
启动并设置开机启动
[root@nginx-server ~]# systemctl start nginx
[root@nginx-server ~]# systemctl enable nginx
浏览器输入ip访问:
2、nginx 编译安装与配置使用
1、安装编译环境
yum -y install gcc gcc-c++
2、安装pcre软件包(使nginx支持http rewrite模块)
yum install -y pcre pcre-devel gd-devel
3、安装openssl-devel(使nginx支持ssl)
yum install -y openssl openssl-devel
4、安装zlib
yum install -y zlib zlib-devel
5、创建用户nginx
useradd nginx
passwd nginx
6、安装nginx
[root@localhost ~]# wget http://nginx.org/download/nginx-1.16.0.tar.gz
[root@localhost ~]# tar xzf nginx-1.16.0.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/nginx-1.16.0/
[root@localhost nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --group=nginx --user=nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/tmp/nginx/client_body --http-proxy-temp-path=/tmp/nginx/proxy --http-fastcgi-temp-path=/tmp/nginx/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-stream
[root@localhost nginx-1.16.0]# make && make install
7、Nginx 编译参数
# 查看 nginx 安装的模块
[root@localhost ~]#/usr/local/nginx/sbin/nginx -V
--prefix=/usr/local/nginx //指向安装目录
--conf-path=/etc/nginx/nginx.conf //指定配置文件
--http-log-path=/var/log/nginx/access.log //指定访问日志
--error-log-path=/var/log/nginx/error.log //指定错误日志
--lock-path=/var/lock/nginx.lock //指定lock文件
--pid-path=/run/nginx.pid //指定pid文件
--http-client-body-temp-path=/var/lib/nginx/body //设定http客户端请求临时文件路径
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi //设定http fastcgi临时文件路径
--http-proxy-temp-path=/var/lib/nginx/proxy //设定http代理临时文件路径
--http-scgi-temp-path=/var/lib/nginx/scgi //设定http scgi临时文件路径
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi //设定http uwsgi临时文件路径
--with-debug //启用debug日志
--with-ipv6 //启用ipv6支持
--with-http_ssl_module //启用ssl支持
--with-http_stub_status_module //获取nginx自上次启动以来的状态
--with-http_realip_module //允许从请求标头更改客户端的IP地址值,默认为关
--with-http_auth_request_module //实现基于一个子请求的结果的客户端授权。如果该子请求返回的2xx响应代码,所述接入是允许的。如果它返回401或403中,访问被拒绝与相应的错误代码。由子请求返回的任何其他响应代码被认为是一个错误。
--with-http_addition_module //作为一个输出过滤器,支持不完全缓冲,分部分响应请求
--with-http_dav_module //增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法 默认关闭,需编译开启
--with-http_geoip_module //使用预编译的MaxMind数据库解析客户端IP地址,得到变量值
--with-http_gunzip_module //它为不支持“gzip”编码方法的客户端解压具有“Content-Encoding: gzip”头的响应。
--with-http_gzip_static_module //在线实时压缩输出数据流
--with-http_spdy_module //SPDY可以缩短网页的加载时间
--with-http_sub_module //允许用一些其他文本替换nginx响应中的一些文本
--with-http_xslt_module //过滤转换XML请求
--with-mail //启用POP3/IMAP4/SMTP代理模块支持
--with-mail_ssl_module //启用ngx_mail_ssl_module支持启用外部模块支持
#--with 表示在编译过程中需要给nginx添加的模块
#--without 表示编译nginx时默认该模块是添加进去的当使用这个参数时表示将默认编译的模块移除
8、修改配置文件/etc/nginx/nginx.conf
# 全局参数设置
user nginx; #设置nginx使用的用户
worker_processes 4; #设置nginx启动进程的数量,一般设置成与逻辑cpu数量相同
error_log logs/error.log; #指定错误日志
pid /var/run/nginx.pid;
events {
worker_connections 1024; #设置一个进程的最大并发连接数
}
# http 服务相关设置
http {
include mime.types; #关联mime类型,关联资源的媒体类型
default_type application/octet-stream; #根据文件的后缀来匹配相应的MIME类型
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; #设置访问日志的位置和格式
sendfile on; #用于开启文件高效传输模式,一般设置为on,若nginx是用来进行磁盘IO负载应用时,可以设置为off,降低系统负载
tcp_nopush on; # 减少网络报文段数量,当有数据时,先别着急发送, 确保数据包已经装满数据, 避免了网络拥塞
gzip on; #是否开启gzip压缩,将注释去掉开启
keepalive_timeout 65; #设置长连接的超时时间,请求完成之后还要保持连接多久,
# 虚拟服务器的相关设置
server {
listen 80; #设置监听的端口
server_name localhost; #设置绑定的主机名、域名或ip地址
charset koi8-r; # 设置编码字符
location / {
root /var/www/nginx; #设置服务器默认网站的根目录位置,需要手动创建
index index.html index.htm; #设置默认打开的文档
}
error_page 500 502 503 504 /50x.html; #设置错误信息返回页面
location = /50x.html {
root html; #这里的绝对位置是/usr/local/nginx/html
}
}
}
#1.nginx.conf的组成:nginx.conf一共由三部分组成,分别为:全局块、events块、http块。在http块中又包含http全局块、多个server块。每个server块中又包含server全局块以及多个location块。在统一配置块中嵌套的配置快,各个之间不存在次序关系。
2.Nginx的组成:
nginx的二进制可执行文件----启动关闭,有各个模块编译出来的
nginx.conf配置文件----控制nginx
access.log访问日志--记录每条http请求
error.log 错误日志--定位问题
9、检测nginx配置文件是否正确
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
[root@localhost ~]# mkdir -p /tmp/nginx
10、启动nginx服务
[root@localhost ~]# /usr/local/nginx/sbin/nginx
11、通过 nginx 命令控制 nginx 服务
# /usr/local/nginx/sbin/nginx -s stop 停服务
# /usr/local/nginx/sbin/nginx -s reload 刷新配置文件
设置软连接
# ln -s /usr/local/nginx/sbin/nginx /bin/nginx
重新加载nginx配置文件
# nginx -s reload
nginx -c /path/nginx.conf # 以特定目录下的配置文件启动nginx:
nginx -s reload # 修改配置后重新加载生效
nginx -s stop # 快速停止nginx
nginx -s quit # 正常停止nginx
nginx -t # 测试当前配置文件是否正确
nginx -t -c /path/to/nginx.conf # 测试特定的nginx配置文件是否正确
#注意:
nginx -s reload 命令加载修改后的配置文件,命令下达后发生如下事件
1. Nginx的master进程检查配置文件的正确性,若是错误则返回错误信息,nginx继续采用原配置文件进行工作(因为worker未受到影响)
2. Nginx启动新的worker进程,采用新的配置文件
3. Nginx将新的请求分配新的worker进程
4. Nginx等待以前的worker进程的全部请求已经都返回后,关闭相关worker进程
5. 重复上面过程,知道全部旧的worker进程都被关闭掉
12、nginx 日志文件详解
nginx 日志文件分为 log_format 和 access_log 两部分
log_format 定义记录的格式,其语法格式为
log_format 样式名称 样式详情
配置文件中默认有
log_format main 'remote_addr - remote_user [time_local] "request" '
'status body_bytes_sent "$http_referer" '
'"http_user_agent" "http_x_forwarded_for"';
4、使用 limit_rate 限制客户端传输数据的速度
1、编辑/etc/nginx/nginx.conf
location / {
root /var/www/nginx/;
index index.html index.htm;
limit_rate 2k; #对每个连接的限速为2k/s
}
重启服务
注意要点:
配置文件中的每个语句要以 ; 结尾
5、nginx 虚拟机配置
什么是虚拟主机?
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响。
nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置。
1、基于域名的虚拟主机 (server_name来区分虚拟主机——应用:外部网站)
2、基于ip的虚拟主机, (一块主机绑定多个ip地址)
3、基于端口的虚拟主机 (端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台)
1、 基于域名的虚拟主机
1、配置通过域名区分的虚拟机
[root@localhost ~]# cat /etc/nginx/nginx.conf
worker_processes 4;
#error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name web.testpm.com;
location / {
root /var/www/nginx/;
index index.html index.htm;
limit_rate 2k;
}
}
server {
listen 80;
server_name www.testpm.com;
location / {
root /1000phone/html;
index index.html index.htm;
}
}
}
2、 为 域名为 web.1000phone.com 的虚拟机,创建 index 文件
[root@localhost ~]# mkdir -p /1000phone/html
[root@localhost ~]# vim /1000phone/html/index.html
<html>
<p>
this is my 1000phone
</p>
</html>
3、重新加载配置文件
# 如果编译安装的执行
[root@nginx]# /usr/local/nginx/sbin/nginx -s reload
# 如果 yum 安装的执行
[root@nginx]# nginx -s reload
4、客户端配置路由映射
在 C:\Windows\System32\drivers\etc\hosts 文件中添加两行(linux:/etc/hosts)
10.0.105.199 web.testpm.com
10.0.105.199 web.1000phone.com
5、 测试访问
浏览器输入:http://web.testpm.com/
浏览器输入:http://web.1000phone.com/
2、 基于ip的虚拟主机
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:17:f1:af brd ff:ff:ff:ff:ff:ff
inet 10.0.105.199/24 brd 10.0.105.255 scope global dynamic ens33
valid_lft 81438sec preferred_lft 81438sec
inet6 fe80::9d26:f3f0:db9c:c9be/64 scope link
valid_lft forever preferred_lft forever
两种方式添加网卡
[root@localhost ~]# ifconfig ens33:1 10.0.105.201/24
[root@localhost ~]# ip a a 10.0.105.201/24 dev ens33
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.105.199 netmask 255.255.255.0 broadcast 10.0.105.255
inet6 fe80::9d26:f3f0:db9c:c9be prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:17:f1:af txqueuelen 1000 (Ethernet)
RX packets 9844 bytes 1052722 (1.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5567 bytes 886269 (865.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.105.201 netmask 255.255.255.0 broadcast 10.0.105.255
ether 00:0c:29:17:f1:af txqueuelen 1000 (Ethernet)
2、配置通过ip区分的虚拟机
[root@localhost ~]# cat /etc/nginx/nginx.conf
user root;
worker_processes 4;
#error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
listen 10.0.105.199:80;
server_name web.testpm.com;
location / {
root /var/www/nginx/;
index index.html index.htm;
limit_rate 2k;
}
server {
listen 10.0.105.201:80;
server_name www.testpm.com;
location / {
root /1000phone/html/;
index index.html index.htm;
}
}
}
3、重新加载配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
4、 测试访问
浏览器输入:http://10.0.105.199
浏览器输入:http://10.0.105.201
5、补充
-- 两种方式删除绑定的vip
[root@localhost ~]# ifconfig ens33:1 10.0.105.201/24 down
[root@localhost ~]# ip a d 10.0.105.201/24 dev ens33
重启一下nginx
[root@localhost ~]# systemctl restart nginx
3、 基于端口的虚拟主机
[root@localhost ~]# cat /etc/nginx/nginx.conf
user root;
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name web.testpm.com;
location / {
root /var/www/nginx/;
index index.html index.htm;
limit_rate 2k;
}
server {
listen 8080;
server_name www.testpm.com;
location / {
root /1000phone/html/;
index index.html index.htm;
}
}
}
重新加载配置文件:
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
测试访问:
浏览器输入:http://web.testpm.com/
浏览器输入:http://web.1000phone.com:8080
Nginx进阶-常见配置
一、nginx Proxy 反向代理
1、代理原理
反向代理产生的背景:
在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。
反向代理服务的实现:
需要有一个负载均衡设备(即反向代理服务器)来分发用户请求,将用户请求分发到后端正真提供服务的服务器上。服务器返回自己的服务到负载均衡设备。负载均衡设备将服务器的服务返回用户。
2、正/反向代理的区别
正向代理
**正向代理的过程隐藏了真实的请求客户端,服务器不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替请求。**我们常说的代理也就是正向代理,正向代理代理的是请求方,也就是客户端;比如我们要访问youtube,可是不能访问,只能先安装个FQ软件代你去访问,通过FQ软件才能访问,FQ软件就叫作正向代理。
(作为应用服务器)
nginx-1的ip:10.0.105.199
已经编译安装好,检查nginx是否启动是否可以访问
b、nginx-2 作为代理服务器
nginx-2的ip:10.0.105.202
配置nginx的yum源直接yum安装
启动
编辑nginx的配置文件:
[root@nginx-server ~]# vim /etc/nginx/conf.d/default.conf
server {
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://10.0.105.199:80;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
}
}
重新加载nginx配置文件
设置软连接
# ln -s /usr/local/nginx/sbin/nginx /bin/nginx
[root@nginx-server ~]# nginx -s reload
yum安装页面位置:/usr/share/nginx/html/index.html
c、nginx proxy 具体配置详解
proxy_pass :真实后端服务器的地址,可以是ip也可以是域名和url地址
proxy_redirect :如果真实服务器使用的是的真实IP:非默认端口。则改成IP:默认端口。
proxy_set_header:重新定义或者添加发往后端服务器的请求头
proxy_set_header X-Real-IP $remote_addr;#只记录连接服务器的上一个ip地址信息。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #通过这个选项可以记录真正客户端机器的ip地址
proxy_connect_timeout::后端服务器连接的超时时间发起三次握手等候响应超时时间
proxy_send_timeout:后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据
proxy_read_timeout :nginx接收upstream(上游/真实) server数据超时, 默认60s, 如果连续的60s内没有收到1个字节, 连接关闭。像长连接
注意:proxy_pass http:// 填写nginx-1服务器的地址。
使用PC客户端访问nginx-2服务器地址
浏览器中输入http://10.0.105.202 (也可以是nginx-2服务器的域名)
成功访问nginx-1服务器页面
观察nginx-1服务器的日志
10.0.105.202 - - [27/Jun/2019:15:54:17 +0800] "GET / HTTP/1.0" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" "10.0.105.207"
10.0.105.202 代理服务器地址
10.0.105.207 客户机地址。
访问成功。 记录了客户机的IP和代理服务器的IP
二、Nginx负载均衡
- 负载均衡–通过算法将用户的请求平均分配给每一台机器,从而降低单台机器的访问压力,网站响应速度提高了,避免了单节点故障
- 模块:upstream–七层的负载均衡
1、upstream配置
首先给大家说下 upstream 这个配置的,这个配置是写一组被代理的服务器地址,然后配置负载均衡的算法.
upstream testapp {
server 10.0.105.199:8081;
server 10.0.105.202:8081;
}
server {
....
location / {
proxy_pass http://testapp; #请求转向 testapp 定义的服务器列表
}
2、负载均衡算法
upstream 支持6种负载均衡调度算法
1、轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器;
2、加权轮询:根据权重值来分配,默认服务器权重1,修改了权重值就给权重值大的多分配
3、ip_hash:每个请求按访问IP的hash结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。
4、url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。
5、fair:这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持 fair的,如果需要使用这种调度算法,必须下载Nginx的 upstream_fair模块。
6、least_conn:最少连接:优先将请求分发给当前连接数最少的后端服务器。
3、配置实例
1、热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB…
upstream myweb {
server 172.17.14.2:8080;
server 172.17.14.3:8080 backup; #热备
}
2、轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB…
upstream myweb {
server 172.17.14.2:8080;
server 172.17.14.3:8080;
}
3、加权轮询:跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB…
upstream myweb {
server 172.17.14.2:8080 weight=1;
server 172.17.14.3:8080 weight=2;
}
4、ip_hash:nginx会让相同的客户端ip请求相同的服务器。
upstream myweb {
server 172.17.14.2:8080;
server 172.17.14.3:8080;
ip_hash;
}
5、nginx负载均衡配置状态参数
- down,表示当前的server暂时不参与负载均衡。
- backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
- max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
- fail_timeout,在经历了max_fails次失败后,暂停服务的时间单位秒。max_fails可以和fail_timeout一起使用。
upstream myweb {
server 172.17.14.2:8080 weight=2 max_fails=2 fail_timeout=2;
server 172.17.14.3:8080 weight=1 max_fails=2 fail_timeout=1;
}
如果你想跟多更深入的了解 nginx 的负载均衡算法,nginx官方提供一些插件大家可以了解下。
4、nginx配置7层协议
- 用http,upstream模块
举例讲解下什么是7层协议,什么是4层协议。
(1)7层协议
OSI(Open System Interconnection)是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范,共包含七层协议。直接上图,这样更直观些:
好,详情不进行仔细讲解,可以自行百度!
(2)协议配置
这里我们举例,在nginx做负载均衡,负载多个服务,部分服务是需要7层的,部分服务是需要4层的,也就是说7层和4层配置在同一个配置文件中。
准备三台机器:
代理服务IP:10.0.105. --配置本地host解析域名;
后端服务器IP:nginx-a :10.0.105.199/nginx-b:10.0.105.202(yum安装)后端服务器将nginx服务启动
配置代理服务器的nginx配置文件:/etc/nginx/nginx.conf
worker_processes 4;
worker_rlimit_nofile 102400;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
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 logs/access.log main;
sendfile on;
keepalive_timeout 65;
gzip on;
upstream testweb {
#ip_hash;
server 10.0.105.199:80 weight=2 max_fails=2 fail_timeout=2s;
server 10.0.105.202:80 weight=2 max_fails=2 fail_timeout=2s;
}
server {
listen 80;
server_name www.test.com;
charset utf-8;
#access_log logs/host.access.log main;
location / {
proxy_pass http://testweb;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
202服务器yum安装的创建新的配置文件:
[root@nginx-server ~]# cd /etc/nginx/conf.d/
[root@nginx-server conf.d]# cp default.conf test.conf
[root@nginx-server conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
定义yum安装的页面位置为:/usr/share/nginx/html
[root@nginx-server ~]# nginx -s reload
浏览器测试访问:
http://www.test.com/
nginx 配置后端健康检查模块
nginx自带的针对后端节点健康检查的功能比较简单,通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的参数来完成,当后端节点出现故障时,自动切换到健康节点来提供访问。但是nginx不能事先知道后端节点状态是否健康,后端即使有不健康节点,负载均衡器依然会先把请求转发给该不健康节点,然后再转发给别的节点,这样就会浪费一次转发,而且自带模块无法做到预警。所以我们可以使用第三方模块 nginx_upstream_check_module模块
nginx_upstream_check_module模块由淘宝团队开发 淘宝自己的 tengine 上是自带了该模块的。我们使用原生Nginx,采用添加模块的方式
获取nginx_upstream_check_module模块
从github上面获取就可以了。
[root@nginx-server ~]# yum install -y unzip
下载模块
[root@nginx-server ~]# wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/refs/heads/master.zip
[root@nginx-server ~]# unzip -d /usr/local/ master.zip
安装补丁:
注意 check版本和Nginx版本要求有限制 1.12以上版本的nginx,补丁为check_1.11.5+.patch 具体参考github
# ls nginx_upstream_check_module-master 可以看版本
# -p0,是“当前路径” -p1,是“上一级路径”
[root@nginx-server ~]# cd /usr/local/nginx-1.22.1/ #进入nginx的解压目录中
[root@nginx-server nginx-1.22.1]# yum install -y patch
[root@nginx-server nginx-1.22.1]# patch -p1 < ../nginx_upstream_check_module-master/check_1.20.1+.patch
[root@nginx-server nginx-1.22.1]# ./configure --prefix=/usr/local/nginx --group=nginx --user=nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/tmp/nginx/client_body --http-proxy-temp-path=/tmp/nginx/proxy --http-fastcgi-temp-path=/tmp/nginx/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-stream --add-module=../nginx_upstream_check_module-master/
[root@nginx-server nginx-1.22.1]# make #重新编译文件, 如果是添加模块只需要make 第一次安装需要make install
[root@nginx-server nginx-1.22.1]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak #将原来的nginx二进制命令备份
[root@nginx-server nginx-1.22.1]# cp objs/nginx /usr/local/nginx/sbin/ #将新生成的命令cp到nginx的命令目录中。
配置健康检查
编译安装:/etc/nginx/nginx.conf
yum安装: /etc/nginx/conf.d/default.conf
http {
upstream app {
server 192.168.209.128 weight=1;
server 192.168.209.130 weight=1;
check interval=5000 rise=2 fall=3 timeout=4000 type=http port=80;
check_http_send "HEAD / HTTP/1.0\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://app;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /status { #开启监控状态页面
check_status;
access_log off;
}
}
}
参数解释:
interval:表示每隔多少毫秒向后端发送健康检查包;
rise:表示如果连续成功次数达到2 服务器就被认为是up;
fail:表示如果连续失败次数达到3 服务器就被认为是down;
timeout:表示后端健康请求的超时时间是多少毫秒;
type:表示发送的健康检查包是什么类型的请求;
port: 表示发送检查到后端的服务的端口;
check_http_send:表示http健康检查包发送的请求内容。为了减少传输数据量,推荐采用“head”方法;
check_http_expect_alive:指定HTTP回复的成功状态,默认认为2XX和3XX的状态是健康的;
浏览器查看访问状态
5、4层协议方法(扩展)
- 用tcp,使用stream模块
(2)4层协议
TCP/IP协议
之所以说TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。
从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。
nginx在1.9.0的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。stream模块的用法跟http的用法类似,允许我们配置一组TCP或者UDP等协议的监听.
配置案例:
#4层tcp负载
stream {
upstream ssh_01 {
server 192.168.209.129:22;
}
server {
listen 6666;
proxy_pass ssh_01;
proxy_timeout 60s;
proxy_connect_timeout 30s;
}
}
#注意:stream块是与http块同一级别
#ssh 本机ip -p6666
6.经典面试题
nginx中有两个server 一个是a.com 一个是b.com 现在访问c.com 返回的是哪个页面,(定义友好返回页面)
1. 匹配 server_name:Nginx 优先检查请求的Host头(此处为c.com),并尝试匹配配置中的 server_name。由于配置中只有a.com和b.com的server块,没有匹配项。
2. 默认server块:若未匹配到任何server_name,Nginx会选择监听相同端口且标记为`default_server`的 server块。若未显式指定default_server,则默认选择第一个定义的server块。
3.设置了地址重写,根据规定进行相应的返回
配置案例
server {
listen 80 default_server;
server_name _;
return 444; # 关闭连接或返回自定义错误页
}
三、nginx 会话保持
nginx会话保持主要有以下几种实现方式。
1、ip_hash
ip_hash使用源地址哈希算法,将同一客户端的请求总是发往同一个后端服务器,除非该服务器不可用。
ip_hash语法:
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com down;
}
ip_hash简单易用,但有如下问题:
当后端服务器宕机后,session会丢失;
来自同一局域网的客户端会被转发到同一个后端服务器,可能导致负载失衡;
2、sticky_cookie_insert—而是基于cookie实现
- 使用sticky_cookie_insert模块
使用sticky_cookie_insert,这会让来自同一客户端的请求被传递到一组服务器的同一台服务器。与ip_hash不同之处在于,它不是基于IP来判断客户端的,而是基于cookie来判断。(需要引入第三方模块才能实现)---sticky模块。因此可以避免上述ip_hash中来自同一局域网的客户端和前段代理导致负载失衡的情况。
语法:
编译安装sticky模块,#给yum安装的nginx添加模块
[root@nginx-server ~]# yum install -y pcre* openssl* gcc gcc-c++ make 安装编译环境
[root@nginx-server ~]# wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/08a395c66e42.zip #下载sticky模块
[root@nginx-server ~]# nginx -v
nginx version: nginx/1.18.0
# systemctl stop nginx
[root@nginx-server ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz #下载yum安装nginx对应版本的源码包
[root@nginx-server ~]# yum install -y unzip #安装解压工具
[root@nginx-server ~]# unzip 08a395c66e42.zip #解压模块包
[root@nginx-server ~]# mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42/ nginx-sticky-module-ng/
[root@nginx-server ~]# tar xzvf nginx-1.18.0.tar.gz -C /usr/local/ #解压nginx的源码包
[root@nginx-server ~]# cd /usr/local/nginx-1.18.0/
[root@nginx-server nginx-1.18.0]# nginx -V #查看yum安装nginx所有模块
[root@nginx-server nginx-1.18.0]# ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' --add-module=/root/nginx-sticky-module-ng
[root@nginx-server nginx-1.18.0]# make && make install
配置基于cookie会话保持
[root@nginx-server nginx-1.18.0]#cd /etc/nginx
#vim nginx.conf
[root@nginx-server conf.d]# vim upstream.conf
upstream qfedu {
server 192.168.198.143;
server 192.168.198.145;
sticky;
}
[root@nginx-server conf.d]# vim proxy.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
# root html; 默认参数
# index index.html index.htm;
proxy_pass http://qfedu;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
[root@nginx-server conf.d]# nginx -t
[root@nginx-server conf.d]# nginx -s reload
或者:
upstream qfedu {
server 192.168.198.143;
server 192.168.198.145;
sticky expires=1h domain=testpm.com path=/;
}
说明:
expires:设置浏览器中保持cookie的时间
domain:定义cookie的域
path:为cookie定义路径
浏览器测试访问
注意:使用后端服务器自身通过相关机制保持session同步,如:使用数据库、redis、memcached 等做session复制
四、nginx 实现动静分离
- 动态分离好处:动态页面和静态页面由不同的服务器来解析,加快解析速度,降低单个服务器的压力,提升整个网站的响应速度
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。 简单来说,就是使用正则表达式匹配过滤,然后交个不同的服务器。
1、准备环境
准备一个nginx代理 两个http 分别处理动态和静态。
expires功能说明---(为客户端配置缓存时间),主要用于图片类
nginx缓存的设置可以提高网站性能,对于网站的图片,尤其是新闻网站,图片一旦发布,改动的可能是非常小的,为了减小对服务器请求的压力,提高用户浏览速度,我们可以通过设置nginx中的expires,让用户访问一次后,将图片缓存在用户的浏览器中,且时间比较长的缓存。
原理:当nginx设置了expires后,例如设置为:expires 10d; 那么用户在10天内请求的时候,都只会访问浏览器中的缓存,而不会去请求nginx。
注:需要注意的是,这种缓存方式只能在用户不对浏览器强制刷新的情况下生效,如果用户通过url来进行访问,是可以访问到缓存的。
1.静态资源配置
编译安装:/etc/nginx/nginx.conf
yum安装: /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location ~ \.(html|jpg|png|js|css) {
root /home/www/nginx;
expires 1d; #为客户端设置静态资源缓存时间
}
}
# mkdir -p /home/www/nginx
# cd /home/www/nginx
上传照片并给权限
测试:
[root@nginx-yum2 conf.d]# curl -I http://10.0.105.200/test.jpg
HTTP/1.1 200 OK
Server: nginx/1.16.0
Date: Mon, 07 Sep 2019 11:35:08 GMT
Content-Type: image/jpeg
Content-Length: 27961
Last-Modified: Mon, 07 Sep 2019 11:31:17 GMT
Connection: keep-alive
ETag: "5f561a05-6d39"
Expires: Tue, 08 Sep 2019 11:35:08 GMT #缓存到期时间
Cache-Control: max-age=86400 #缓存持续时间秒
Accept-Ranges: bytes
2.动态资源配置:
yum 安装php7.1
[root@nginx-server ~]# yum install -y epel-release
[root@nginx-server ~]# rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@nginx-server ~]# cd /etc/yum.repos.d/
[root@nginx-server yum.repos.d]# ls
remi-php73.repo remi-php74.repo
remi-php80.repo nginx.repo
remi-php81.repo remi-modular.repo
remi-php82.repo remi-php54.repo
remi-php83.repo remi-php70.repo
remi.repo remi-php71.repo
remi-safe.repo epel.repo
remi-php72.repo
[root@nginx-server ~]# yum install -y yum-utils
[root@nginx-server ~]# yum-config-manager --enable remi-php71
[root@nginx-server ~]# yum -y install php-xsl php php-ldap php-cli php-common php-devel php-gd php-pdo php-mysql php-mbstring php-bcmath php-mcrypt php-fpm
[root@nginx-server ~]# systemctl start php-fpm
[root@nginx-server ~]# systemctl enable php-fpm
#动态服务器编辑nginx连接php
编辑nginx的配置文件:
编译安装:/etc/nginx/nginx.conf
yum安装: /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location ~ \.php$ {
root /home/nginx/html; #指定网站目录
fastcgi_pass 127.0.0.1:9000; #开启fastcgi连接php地址
fastcgi_index index.php; #指定默认文件
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #站点根目录,取决于root配置项
include fastcgi_params; #包含fastcgi使用的常量
}
}
创建目录:mkdir -p /home/nginx/html
测试代码:
#vim /home/nginx/html/index.php
<?php
echo "hello world"
?>
3.配置nginx反向代理upstream,并实现客户端缓存时间
配置upstream:
upstream static {
server 10.0.105.196:80 weight=1 max_fails=1 fail_timeout=60s;
}
upstream php {
server 10.0.105.200:80 weight=1 max_fails=1 fail_timeout=60s;
}
配置反向代理:
server {
listen 80;
server_name localhost
#动态资源加载
location ~ \.(php|jsp)$ {
proxy_pass http://php;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#静态资源加载
location ~ .*\.(html|jpg|png|css|js)$ {
proxy_pass http://static;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
当访问静态页面的时候location 匹配到 (html|jpg|png|js|css) 通过转发到静态服务器,静态服务通过location的正则匹配来处理请求。
当访问动态页面时location匹配到 .\php 结尾的文件转发到后端php服务处理请求。
五、nginx的localtion指令详解
Nginx 的 HTTP 配置主要包括三个区块,结构如下:
http { # 这个是协议级别
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
gzip on;
server { # 这个是服务器级别
listen 80;
server_name localhost;
location / { # 这个是请求级别
root html;
index index.html index.htm;
}
}
}
1、location 区段
- location 是在 server 块中配置,根据不同的 URI 使用不同的配置,来处理不同的请求。
- location 是有顺序的,会根据不同请求配置的优先级来匹配的location 处理。
基本语法如下:
location [=|^~|~|~*|!~|!~*|/|@] pa4ttern{……}
2、location 前缀含义
常用:
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配
^~ 表示uri以某个常规字符串开头,理解为匹配url路径即可
= 表示精确匹配,优先级也是最高的
!~ 表示区分大小写不匹配的正则
!~* 表示不区分大小写不匹配的正则
/ 通用匹配,任何请求都会匹配到
查找顺序和优先级
= 大于 ^~ 大于 ~|~*|!~|!~* 大于 /
多个location配置的情况下匹配顺序为:首先匹配 =,其次匹配^~, 其次是按正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
3、location 配置示例
1、没有修饰符 表示:必须以指定模式开始
server {
listen 80;
server_name localhost;
location /abc {
root /home/www/nginx;
index 2.html;
}
那么,如下是对的:
http://192.168.1.9/abc
注意:此时 /home/www/nginx为根目录
在此目录下
创建mkdir /home/www/nginx/abc目录
创建文件 touch /abc/2.html
2、=表示:必须与指定的模式精确匹配
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/http_access.log main;
location / {
return https://www.baidu.com;
}
location = / {
return https://www.jd.com;
}
}
测试:
3、~ 表示:指定的正则表达式要区分大小写
server {
server_name localhost;
location ~ /abc {
root /home/www/nginx;
index 2.html index.html;
}
}
测试访问:
http://192.168.1.9/abc
不正确的
http://192.168.1.9/ABC
========================================
如果将配置文件修改为
location ~ /ABC {
root /home/www/nginx;
index 2.html index.html;
}
在创建目录和文件:
[root@ansible-server html]# cd /home/www/nginx/
[root@ansible-server nginx]# mkdir ABC
[root@ansible-server nginx]# vim ABC/2.html
访问:
http://192.168.1.9/ABC/
结论:~ 需要区分大小写。而且目录需要根据大小写定义。
4、^和*匹配案例
~*:表示不区分大小写的正则匹配
[root@localhost conf.d]# cat default.conf
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~* /a/b/ {
return 888;
}
}
测试:
[root@localhost ~]# curl -I http://192.168.209.200/a/b/
HTTP/1.1 888
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:14:09 GMT
Content-Length: 0
Connection: keep-alive
[root@localhost ~]# curl -I http://192.168.209.200/A/B/
HTTP/1.1 888
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:16:52 GMT
Content-Length: 0
Connection: keep-alive
^~:表示uri以某个常规字符串开头,理解为匹配url路径即可
例如:下面配置文件有两条规则,分别匹配url以字母a开头,但是长度不同,首先将长的规则先注释掉,如下:
[root@localhost conf.d]# cat default.conf
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location ^~ /a/ {
return 123;
}
#location ^~ /a/b/ {
#return 12345;
#}
}
测试:
[root@localhost ~]# curl -I http://192.168.209.200/a/
HTTP/1.1 678
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:28:03 GMT
Content-Length: 0
Connection: keep-alive
[root@localhost ~]# curl -I http://192.168.209.200/a/b/
HTTP/1.1 678
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:28:07 GMT
Content-Length: 0
Connection: keep-alive
[root@localhost ~]# curl -I http://192.168.209.200/a/b/dsdfsdf
HTTP/1.1 678
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:28:10 GMT
Content-Length: 0
Connection: keep-alive
结论:
当前只有一个规则开启,因此当匹配url以/a/开头的任何url时,都会返回状态码678
现在打开注释:
[root@localhost conf.d]# cat default.conf
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location ^~ /a/ {
return 678;
}
location ^~ /a/b/ {
return 876;
}
}
测试:
[root@localhost ~]# curl -I http://192.168.209.200/a/
HTTP/1.1 678
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:44:52 GMT
Content-Length: 0
Connection: keep-alive
[root@localhost ~]# curl -I http://192.168.209.200/a/b/
HTTP/1.1 876
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:44:56 GMT
Content-Length: 0
Connection: keep-alive
[root@localhost ~]# curl -I http://192.168.209.200/a/b/sdgsdgdg
HTTP/1.1 876
Server: nginx/1.24.0
Date: Fri, 24 Nov 2023 08:44:58 GMT
Content-Length: 0
Connection: keep-alive
结论:
两条规则同时被匹配成功,但是第二条规则比较长,因此第二条规则优先被匹配。
六、nginx 地址重写 rewrite
1、什么是Rewrite
Rewrite对称URL Rewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程
- 从安全角度上讲,如果在URL中暴露太多的参数,无疑会造成一定量的信息泄漏,可能会被一些黑客利用,对你的系统造成一定的破坏,所以静态化的URL地址可以给我们带来更高的安全性。
- 实现网站地址跳转,例如用户访问360buy.com,将其跳转到jd.com。例如当用户访问tianyun.com的
80端口时,将其跳转到443端口。
2、Rewrite 相关指令
- Nginx Rewrite 相关指令有 if、rewrite、set、return
2.1、if 语句
-
应用环境
server,location
语法:
if (condition) { … } if 可以支持如下条件判断匹配符号 ~ 正则匹配 (区分大小写) ~* 正则匹配 (不区分大小写) !~ 正则不匹配 (区分大小写) !~* 正则不匹配 (不区分大小写) -f 和!-f 用来判断是否存在文件 -d 和!-d 用来判断是否存在目录 -e 和!-e 用来判断是否存在文件或目录 -x 和!-x 用来判断文件是否可执行 在匹配过程中可以引用一些Nginx的全局变量 $args 请求中的参数; $document_root 针对当前请求的根路径设置值; $host 请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名; $limit_rate 对连接速率的限制; $request_method 请求的方法,比如"GET"、"POST"等; $remote_addr 客户端地址; $remote_port 客户端端口号; $remote_user 客户端用户名,认证用; $request_filename 当前请求的文件路径名(带网站的主目录/usr/local/nginx/html/images/a.jpg) $request_uri 当前请求的文件路径名(不带网站的主目录/images/a.jpg) $query_string 与$args相同; $scheme 用的协议,比如http或者是https $server_protocol 请求的协议版本,"HTTP/1.0"或"HTTP/1.1"; $server_addr 服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费); $server_name 请求到达的服务器名; $document_uri 与$uri一样,URI地址; $server_port 请求到达的服务器端口号;
2.2、Rewrite flag 地址重写的四个标记
rewrite 指令根据表达式来重定向URI,或者修改字符串。可以应用于server,location, if环境下每行rewrite指令最后跟一个flag标记,支持的flag标记有:
last 表示完成rewrite。默认为last。 break 本条规则匹配完成后,终止匹配,不再匹配后面的规则 redirect 返回302临时重定向,浏览器地址会显示跳转后的URL地址 permanent 返回301永久重定向,浏览器地址会显示跳转后URL地址
redirect 和 permanent区别则是返回的不同方式的重定向:
对于客户端来说一般状态下是没有区别的。而对于搜索引擎,相对来说301的重定向更加友好,如果我们把一个地址采用301跳转方式跳转的话,搜索引擎会把老地址的相关信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。
使用302重定向时,搜索引擎(特别是google)有时会查看跳转前后哪个网址更直观,然后决定显示哪个,如果它觉的跳转前的URL更好的话,也许地址栏不会更改。
1、Rewrite匹配参考示例
本地解析host文件--wind
# http://www.testpm.com/a/1.html ==> http://www.testpm.com/b/2.html
location /a {
root /html;
index 1.html index.htm;
rewrite .* /b/2.html permanent;
}
location /b {
root /html;
index 2.html index.htm;
}
例2:
# http://www.testpm.com/2019/a/1.html ==> http://www.testpm.com/2018/a/1.html
location /2019/a {
root /var/www/html;
index 1.html index.hml;
rewrite ^/2019/(.*)$ /2018/$1 permanent;
}
location /2018/a {
root /var/www/html;
index 1.html index.htl;
}
例3:
# http://www.qf.com/a/1.html ==> http://jd.com
location /a {
root /html;
if ($host ~* www.qf.com ) {
rewrite .* http://jd.com permanent;
}
}
例4:
# http://www.qf.com/a/1.html ==> http://jd.com/a/1.html
location /a {
root /html;
if ( $host ~* qf.com ){
rewrite .* http://jd.com$request_uri permanent;
}
}
例5:
# http://www.tianyun.com/login/tianyun.html ==> http://www.tianyun.com/reg/login.html?user=tianyun
location /login {
root /usr/share/nginx/html;
rewrite ^/login/(.*)\.html$ http://$host/reg/login.html?user=$1;
}
location /reg {
root /usr/share/nginx/html;
index login.html;
}
例6:
#http://www.tianyun.com/qf/11-22-33/1.html ==> http://www.tianyun.com/qf/11/22/33/1.html
location /qf {
rewrite ^/qf/([0-9]+)-([0-9]+)-([0-9]+)(.*)$ /qf/$1/$2/$3$4 permanent;
}
location /qf/11/22/33 {
root /html;
index 1.html;
}
2、set 指令
set 指令是用于定义一个变量,并且赋值
应用环境:
server,location,if
应用示例
例8:
#http://alice.testpm.com ==> http://www.testpm.com/alice
#http://jack.testpm.com ==> http://www.testpm.com/jack
[root@nginx-server conf.d]# cd /usr/share/nginx/html/
[root@nginx-server html]# mkdir jack alice
[root@nginx-server html]# echo "jack.." >> jack/index.html
[root@nginx-server html]# echo "alice.." >> alice/index.html
本地解析域名host文件
10.0.105.202 www.testpm.com
10.0.105.202 alice.testpm.com
10.0.105.202 jack.testpm.com
编辑配置文件:
server {
listen 80;
server_name www.testpm.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
if ( $host ~* ^www.testpm.com$) {
break;
}
if ( $host ~* "^(.*)\.testpm\.com$" ) {
set $user $1;
rewrite .* http://www.testpm.com/$user permanent;
}
}
location /jack {
root /usr/share/nginx/html;
index index.html index.hml;
}
location /alice {
root /usr/share/nginx/html;
index index.html index.hml;
}
}
3、return 指令
return 指令用于返回状态码给客户端
server,location,if
应用示例:
例9:如果访问的.sh结尾的文件则返回403操作拒绝错误
server {
listen 80;
server_name www.testpm.cn;
#access_log /var/log/nginx/http_access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~* \.sh$ {
return 403;
}
}
例10:80 ======> 443 :80转443端口
server {
listen 80;
server_name www.testpm.cn;
access_log /var/log/nginx/http_access.log main;
return 301 https://www.testpm.cn$request_uri;
}
server {
listen 443 ssl;
server_name www.testpm.cn;
access_log /var/log/nginx/https_access.log main;
#ssl on;
ssl_certificate /etc/nginx/cert/2447549_www.testpm.cn.pem;
ssl_certificate_key /etc/nginx/cert/2447549_www.testpm.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
[root@nginx-server ~]# curl -I http://www.testpm.cn
HTTP/1.1 301 Moved Permanently
Server: nginx/1.16.0
Date: Wed, 03 Jul 2019 13:52:30 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
Location: https://www.testpm.cn/
4、last,break详解
[root@localhost test]# cat /etc/nginx/conf.d/last_break.conf
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/last.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /break/ {
root /usr/share/nginx/html;
rewrite .* /test/break.html break;
}
location /last/ {
root /usr/share/nginx/html;
rewrite .* /test/last.html last;
}
location /test/ {
root /usr/share/nginx/html;
rewrite .* /test/test.html break;
}
}
[root@localhost conf.d]# cd /usr/share/nginx/html/
[root@localhost html]# mkdir test
[root@localhost html]# echo "last" > test/last.html
[root@localhost html]# echo "break" > test/break.html
[root@localhost html]# echo "test" > test/test.html
http://10.0.105.196/break/break.html
http://10.0.105.196/last/last.html
注意:
- last 标记在本条 rewrite 规则执行完后,会对其所在的 server { … } 标签重新发起请求;
- break 标记则在本条规则匹配完成后,停止匹配,不再做后续的匹配;
- 使用 proxy_pass 指令时,则必须使用break。
nginx 日志配置
1、nginx 日志介绍
nginx
有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module
的支持,日志格式通过 log_format
命令来定义,日志对于统计和排错是非常有利的,下面总结了 nginx
日志相关的配置 包括 access_log
、log_format
、rewrite_log
、error_log
。
# 设置访问日志
access_log path;
# 关闭访问日志
access_log off;
- path 指定日志的存放位置。
作用域:
可以应用access_log
指令的作用域分别有http
,server
,location
,也就是说,在这几个作用域外使用该指令,Nginx会报错。
access_log /var/logs/nginx-access.log
该例子指定日志的写入路径为/var/logs/nginx-access.log
,日志格式使用默认的combined
。
2、log_format 指令
Nginx 预定义了名为 combined
日志格式,如果没有明确指定日志格式默认使用该格式:
log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
如果不想使用Nginx预定义的格式,可以通过log_format
指令来自定义。
语法
log_format name [escape=default|json] string ...;
- name 格式名称。在 access_log 指令中引用。
- escape 设置变量中的字符编码方式是`json`还是`default`,默认是`default`。
- string 要定义的日志格式内容。该参数可以有多个。参数中可以使用Nginx变量。
log_format
指令中常用的一些变量:
$remote_addr, $http_x_forwarded_for #记录客户端IP地址
$remote_user #记录客户端用户名称
$request #记录请求的URL和HTTP协议
$status #记录请求状态
$body_bytes_sent #发送给客户端的字节数,不包括响应头的大小
$bytes_sent #发送给客户端的总字节数
$connection #连接的序列号
$connection_requests #当前通过一个连接获得的请求数量。
$msec #日志写入时间。单位为秒,精度是毫秒。
$http_referer #记录从哪个页面链接访问过来的,可以根据该参数进行防盗链设置
$http_user_agent #记录客户端浏览器相关信息
$request_length #请求的长度(包括请求行,请求头和请求正文)。
$request_time #请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
$time_iso8601 #ISO8601标准格式下的本地时间。
$time_local #通用日志格式下的本地时间。
自定义日志格式的使用:
access_log /var/logs/nginx-access.log main
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
注意:
注:如果Nginx位于负载均衡器,nginx反向代理之后,web服务器无法直接获取到客户端真实的IP地址。
$remote_addr获取的是反向代理的IP地址。反向代理服务器在转发请求的http头信息中,可以增加X-Forwarded-For信息,用来记录客户端IP地址。
使用log_format
指令定义了一个main
的格式,并在access_log
指令中引用了它。客户端发起请求访问:http://192.168.246.154/
,看一下请求的日志记录:
10.0.105.207 - - [01/Jul/2019:10:44:36 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" "-"
我们看到最终的日志记录中$remote_user
、$http_referer
、$http_x_forwarded_for
都对应了一个-
,这是因为这几个变量为空。
面试时:注意日志里面的ip地址一定要在第一列。
3、error_log 指令
错误日志在Nginx中是通过error_log
指令实现的。该指令记录服务器和请求处理过程中的错误信息。
语法
配置错误日志文件的路径和日志级别。
error_log file [level];
Default:
error_log logs/error.log error;
file
参数指定日志的写入位置。
level
参数指定日志的级别。level可以是debug
, info
, notice
, warn
, error
, crit
, alert
,emerg
中的任意值。可以看到其取值范围是按紧急程度从低到高排列的。只有日志的错误级别等于或高于level指定的值才会写入错误日志中。默认值是error
。
扩展日志级别:
debug级别:低级别,包含的信息非常详细
info级别:稍微的高一点了。用的多一些。
notice 和warning
notice:相当于提示
warning:警告 和warn 一样
err和error 一样,记录错误日志
crit:比较严重了
alert:告警,很严重
emerg: 恐慌级别, 级别最高的
基本用法
error_log /var/logs/nginx/nginx-error.log
配置段: http
, server
, location
作用域。
例子中指定了错误日志的路径为:/var/logs/nginx/nginx-error.log
,日志级别使用默认的 error
。
4、nginx 日志配置总结
Nginx中通过access_log
和error_log
指令配置访问日志和错误日志,通过log_format
我们可以自定义日志格式。
详细的日志配置信息可以参考Nginx官方文档
单独开启server的访问日志
[root@nginx-client ~]# cd /etc/nginx/conf.d/
[root@nginx-client conf.d]# vim nginx.conf
server {
listen 80;
server_name localhost;
charset koi8-r;
access_log /var/log/nginx/test.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /admin {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
[root@nginx-client conf.d]# nginx -s reload
访问
[root@nginx-client conf.d]# curl -I http://192.168.1.10
当我们访问的这个server的时候日志将会输出到test.access.log.
作业:编写nginx日志切割脚本
[root@nginx-web script]# cat nginx_log.sh
#!/bin/bash
date=`date +%F -d -1day`
log_dir=/var/log/nginx/
log_name=access.log
[ -d $log_dir ] && cd $log_dir || exit 1
[ -f $log_name ] || exit 1
/bin/mv $log_name $log_name.${date}
/usr/sbin/nginx -s reload
tar czf $log_name.${date}.tar.gz $log_name.${date} && rm -rf $log_name_${date}
#delete
cd $log_dir || exit 1
find ./ -mtime +7 -type f -name *.tar.gz | xargs rm -rf
nginx 的平滑升级
1、为什么要对 nginx 平滑升级
随着 nginx
越来越流行,并且 nginx
的优势也越来越明显,nginx
的版本迭代也来时加速模式,1.9.0版本的nginx更新了许多新功能,例如 stream
四层代理功能,伴随着 nginx
的广泛应用,版本升级必然越来越快,线上业务不能停,此时 nginx
的升级就是运维的工作了
nginx 方便地帮助我们实现了平滑升级。其原理简单概括,就是:
(1)在不停掉老进程的情况下,启动新进程。
(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。
(3)新进程接受新请求。
(4)老进程处理完所有请求,关闭所有连接后,停止。
这样就很方便地实现了平滑升级。一般有两种情况下需要升级 nginx,一种是确实要升级 nginx 的版本,另一种是要为 nginx 添加新的模块
2、Nginx信号简介
主进程支持的信号
- TERM, INT: 立刻退出
- QUIT: 等待工作进程结束后再退出
- KILL: 强制终止进程
- HUP: 重新加载配置文件,使用新的配置启动工作进程,并逐步关闭旧进程。
- USR1: 重新打开日志文件
- USR2: 启动新的主进程,实现热升级
- WINCH: 逐步关闭工作进程
工作进程支持的信号
- TERM, INT: 立刻退出
- QUIT: 等待请求处理结束后再退出
- USR1: 重新打开日志文件
3、nginx 平滑升级实战
1、查看现有的 nginx 编译参数
[root@nginx-server ~]# /usr/local/nginx/sbin/nginx -V
按照原来的编译参数安装 nginx 的方法进行安装,只需要到 make,千万不要 make install 。如果make install 会将原来的配置文件覆盖
[root@nginx-server ~]# cd /usr/local/nginx-1.16.0/
[root@nginx-server nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --group=nginx --user=nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/tmp/nginx/client_body --http-proxy-temp-path=/tmp/nginx/proxy --http-fastcgi-temp-path=/tmp/nginx/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-stream --with-http_image_filter_module
[root@nginx-server nginx-1.16.0]# make
3、备份原 nginx 二进制文件
备份二进制文件和 nginx 的配置文件(期间nginx不会停止服务)
[root@nginx-server nginx-1.16.0]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_$(date +%F)
4、复制新的nginx二进制文件,进入新的nginx源码包
[root@nginx-server nginx-1.16.0]# cp /usr/local/nginx-1.16.0/objs/nginx /usr/local/nginx/sbin/
5、测试新版本的nginx是否正常
[root@nginx-server nginx-1.16.0]# /usr/local/nginx/sbin/nginx -t
6、给nginx发送平滑迁移信号(若不清楚pid路径,请查看nginx配置文件)
[root@nginx-server ~]# kill -USR2 `cat /var/run/nginx.pid`
7、查看nginx pid,会出现一个nginx.pid.oldbin
[root@nginx-server ~]# ll /var/run/nginx.pid*
-rw-r--r-- 1 root root 5 Jul 1 11:29 /var/run/nginx.pid
-rw-r--r-- 1 root root 5 Jul 1 09:54 /var/run/nginx.pid.oldbin
8、从容关闭旧的Nginx进程
[root@nginx-server ~]# kill -WINCH `cat /var/run/nginx.pid.oldbin`
9、结束工作进程,完成此次升级
[root@nginx-server ~]# kill -QUIT `cat /var/run/nginx.pid.oldbin`
10、验证Nginx是否升级成功
[root@nginx-server ~]# /usr/local/nginx/sbin/nginx -V
4、nginx 错误页面配置
nginx错误页面包括404 403 500 502 503 504等页面,只需要在server中增加以下配置即可:
#error_page 404 403 500 502 503 504 /404.html;
location = /404.html {
root /usr/local/nginx/html;
}
注意:
/usr/local/nginx/html/ 路径下必须有404.html这个文件!!!
404.html上如果引用其他文件的png或css就会有问题,显示不出来,因为其他文件的访问也要做配置;
为了简单,可以将css嵌入文件中,图片用base编码嵌入;如下:
base64 图片—转码
[root@localhost html]# vim 404.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<title>404</title>
<style>
.layout-table{display:table;height:100%;width:100%;vertical-align: middle;margin-top:150px}
.layout-table-cell{display: table-cell;vertical-align: middle;text-align:center}
.layout-tip{font-size:28px;color:#373737;margin: 0 auto;margin-top:16px;border-bottom: 1px solid #eee;padding-bottom: 20px;width: 360px;}
#tips{font-size:18px;color:#666666;margin-top:16px;}
</style>
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
<div class="layui-body">
<div class="layout-table">
<div class="layout-table-cell">
<img src="data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/7RMIUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAA
AAAAAAAAAAAAOEJJTQQ6AAAAAADXAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAUHN0
U2Jvb2wBAAAAAEludGVlbnVtAAAAAEludGUAAAAASW1nIAAAAA9wcmludFNpeHRlZW5CaXRib29s
AAAAAAtwcmludGVyTmFtZVRFWFQAAAABAAAAAAAPcHJpbnRQcm9vZlNldHVwT2JqYwAAAAVoIWg3
i75/bgAAAAAACnByb29mU2V0dXAAAAABAAAAAEJsdG5lbnVtAAAADGJ1aWx0aW5Qcm9vZgAAAAlw
cm9vZkNNWUsAOEJJTQQ7AAAAAAItAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAAX
AAAAAENwdG5ib29sAAAAAABDbGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABD
bnRDYm9vbAAAAAAATGJsc2Jvb2wAAAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJv
b2wAAAAAAEJja2dPYmpjAAAAAQAAAAAAAFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAA
R3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAA
AAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAAAFJzbHRVbnRGI1B4bEBSAAAAAAAAAAAACnZl
Y3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1BzAAAAAFBnUEMAAAAATGVmdFVudEYjUmx0
AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAAU2NsIFVudEYjUHJjQFkAAAAAAAAA
AAAQY3JvcFdoZW5QcmludGluZ2Jvb2wAAAAADmNyb3BSZWN0Qm90dG9tbG9uZwAAAAAAAAAMY3Jv
cFJlY3RMZWZ0bG9uZwAAAAAAAAANY3JvcFJlY3RSaWdodGxvbmcAAAAAAAAAC2Nyb3BSZWN0VG9w
bG9uZwAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAEASAAAAAEAAThCSU0EJgAAAAAADgAAAAAAAAAA
AAA/gAAAOEJJTQQNAAAAAAAEAAAAWjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAA
AAEAOEJJTScQAAAAAAAKAAEAAAAAAAAAAThCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAv
ZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D
+AAAAAAAcAAA/wPoAAAAAP//
//8D6AAAAAD/A+gAAAAA
/wPoAAA4QklNBAAAAAAAAAIAAjhCSU0EAgAAAAAACgAAAAAAAAAAAAA4QklNBDAAAAAAAAUBAQEB
AQA4QklNBC0AAAAAAAoAAgAAAAoAAAANOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0E
HgAAAAAABAAAAAA4QklNBBoAAAAAAzcAAAAGAAAAAAAAAAAAAAMgAAAFPwAAAAFy1wAAAAEAAAAA
AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAFPwAAAyAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAA
AAAAAAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0
MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAyAAAAAA
UmdodGxvbmcAAAU/AAAABnNsaWNlc1ZsTHMAAAABT2JqYwAAAAEAAAAAAAVzbGljZQAAABIAAAAH
c2xpY2VJRGxvbmcAAAAAAAAAB2dyb3VwSURsb25nAAAAAAAAAAZvcmlnaW5lbnVtAAAADEVTbGlj
ZU9yaWdpbgAAAA1hdXRvR2VuZXJhdGVkAAAAAFR5cGVlbnVtAAAACkVTbGljZVR5cGUAAAAASW1n
IAAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0
bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAMgAAAAAFJnaHRsb25nAAAFPwAAAAN1cmxURVhUAAAAAQAA
AAAAAG51bGxURVhUAAAAAQAAAAAAAE1zZ2VURVhUAAAAAQAAAAAABmFsdFRhZ1RFWFQAAAABAAAA
AAAOY2VsbFRleHRJc0hUTUxib29sAQAAAAhjZWxsVGV4dFRFWFQAAAABAAAAAAAJaG9yekFsaWdu
ZW51bQAAAA9FU2xpY2VIb3J6QWxpZ24AAAAHZGVmYXVsdAAAAAl2ZXJ0QWxpZ25lbnVtAAAAD0VT
bGljZVZlcnRBbGlnbgAAAAdkZWZhdWx0AAAAC2JnQ29sb3JUeXBlZW51bQAAABFFU2xpY2VCR0Nv
bG9yVHlwZQAAAABOb25lAAAACXRvcE91dHNldGxvbmcAAAAAAAAACmxlZnRPdXRzZXRsb25nAAAA
AAAAAAxib3R0b21PdXRzZXRsb25nAAAAAAAAAAtyaWdodE91dHNldGxvbmcAAAAAADhCSU0EKAAA
AAAADAAAAAI/8AAAAAAAADhCSU0EEQAAAAAAAQEAOEJJTQQUAAAAAAAEAAAADThCSU0EDAAAAAAJ
+QAAAAEAAACfAAAAXwAAAeAAALIgAAAJ3QAYAAH/2P/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSA
AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAXwCfAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEF
AQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAAB
BAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHx
Y3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm
9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS
0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0
pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8AxEkklMwqSSSSUpJJJJSk
kkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklP/0MRJJJTMKkkkklLPe1jS952tbqSrb+ldXrys
fCfg3DLy6xbj4/tNjmE7d1jN+3F2f4T7U+r0v8L6dn6NS6RjdQyMyz9mUDJ6jjY1uThUuNYHrtfj
4tN7vtP6B32NuZbmVss/7UUULrfqxV9YOjYAyevYtuR1N9Jq+02W02Fp9a97Kbsq7JZsrf61Gytt
v/gibKVGl8Y2HiLarabraLm+ndRY6q1kh0PYdrhvb7XKK2876s/Wi/qGZkDpdzm35FtrXb8YSHu3
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
AFAAaABvAHQAbwBzAGgAbwBwACAAQwBDAAAAAQA4QklNBAYAAAAAAAcACAAAAAEBAP/hCxNFeGlm
AABNTQAqAAAACAAHARIAAwAAAAEAAQAAARoABQAAAAEAAABiARsABQAAAAEAAABqASgAAwAAAAEA
AgAAATEAAgAAAB0AAAByATIAAgAAABQAAACPh2kABAAAAAEAAACkAAAA0AAAAEgAAAABAAAASAAA
AAFBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpADIwMTk6MTI6MjAgMjM6Mjk6NTkAAAADoAEA
AwAAAAH//wAAoAIABAAAAAEAAAU/oAMABAAAAAEAAAMgAAAAAAAAAAYBAwADAAAAAQAGAAABGgAF
AAAAAQAAAR4BGwAFAAAAAQAAASYBKAADAAAAAQACAAACAQAEAAAAAQAAAS4CAgAEAAAAAQAACd0A
AAAAAAAASAAAAAEAAABIAAAAAf/Y/+0ADEFkb2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAM
CAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAz/wAARCABfAJ8DASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAA
AAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYI
BQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkST
VGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3
x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJD
UxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaG
lqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwDESSSUzCpJJJJSkkkklKSSSSUpJJJJSkkk
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
p06jp2d1DJpf0r2YGbTi3Raw1tqY/IxX41rdzP5q9n6P1fS+0Y/2f1/Rp5gHnUOguaHAOaHBpLW2
trti2tlrR6rGW/pGfnpJIgUgm1JJJIrVJJJJKUkkkkpSSSSSlJJJJKUkkkkp/9TESSSUzCpJJJJS
kkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSU//Z/9sAQwABAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQECAgEBAgEBAQICAgICAgICAgECAgICAgICAgIC/9sAQwEBAQEB
AQEBAQEBAgEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
AgIC/8AAEQgC+gUAAwERAAIRAQMRAf/EAB8AAQAABgMBAQAAAAAAAAAAAAAKCQsIBwECAwQGBf/E
AHsQAAEDAwMBAwUFCRYPDAUKBwABAgMEBQYHEQghCRIxE0EKYVEUIvBxFZEy0ZYZObh4VxahOJK2
gVMXIzdYd9TXsXa3lxhzlEJWGlKzctPWJVXYOpPh8VmYM3U0stK1wWLVJDUowsMnNkNjorQpRUZm
eYKIJkdkZWej/8QAHgEBAAICAwEBAQAAAAAAAAAAAAYFAQQCAwcICQr/xABiEQEAAQIDBAMICg0I
CAQFAgcAAQIRAwQhMQUS8EFRYZFxBiLRoYET4bHBMlIHcxZUkjWyNNOz8XIUFUJiM5ODUyMYCFXC
0oJjJBlWlJXVw6LjJUOj4nRE8jYJJkVkZXWF/9oADAMBAAIRAxEAPwCV+eoPNwAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAa3T2p6uv43t+H34557nOsybAAAAAB8Xw+/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfD9n1+r4d
dw0my9E996kVN16uTw+Hj8agettDWeTfOkEkcDFRVnlV0MLNu9s5Z3t2RE8em23Vd/FTlFMzE1Wt
TTrM9Ftbzr1bfT2XnjNVMXiZjvde3m3b6Z+CrtU9KrTUy0l21p0ks1Y3ZJqG76n4Hb6tE7yo9j6e
tv8AG9q95q95HIi9FTdOqnTVmcrR4tebwqZj4WLTE6X/AGpt0dE9Gk627Kcrj4lMTTlMWqmZiL04
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
OpmfR22+/Klqp5X+Vbb++quXdye883kZqpy+Pamq16Zp46bRM7YmKrazOscM+NGs2mZ08zkMpnIn
1+FxVR0xM01dW2Ji+yNKrxsi2koSztK+xz1b4I0l11k0jyDI9beLFNAysv2QXeitMmrOi0j6t1M+
PUaks1sp6bLsMe+SnliyK3UdG2j90VFNebXboaGmvd8lm6984GeicHHinAzWkREX4a5vOlPjTMVz
sim+v6s1T4sRjeG6cXJ3xcCasfLdN7cdG3WfFtNPbtjZbZKT1RvWSlikWby/fRzkm7sTfKNWWZWO
RsTURG9zu7efuoneVy95y3MxETPPX5PL21NM3pve/wCOY8nN3oMMgAAAAAdU71jp6iRHd1Y4JpEd
73dqsjlcjk7yKi7KieKKnhui+Dkd3mfJzrM42RM9Xs+TnVOc7DnglYuXnJK96u6tUr7npJxXq8Ey
iLGnVNXQ0+e64V91qL9p7Q3NtHSI274fZafHKm7XahfUU7KurnsNDWU10tVXeqOan33nqsnlowcC
rhxc1Exe0eLh6xVtmbVVX4YnW0ccxNNUUzTb7lyUZvGrxsaOLBy8xMRsiqu8zTGk6xTaKpiZ1qtE
xVTNUTHPt697fw9702X1+PX4ui9U33XxQgvDF79Nrc686x0zKZRpft55/HfeyexPmIOGOue7PlDZ
PYnzEHDHXPdnyhsnsT5iDhjrnuz5Q2RPBE+Z8fr+G/x78bWqiLzab9Mzs4euedO+c89znbNMo5NT
Sy8yuc3lH9/bmdyscnvWN2dJyA1JR6p3Gpsi+Tb08PH2uVfT8r9x5PW/9Fhfg6Zed403zWf7Mav7
fE8nPTh87XWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLO7Tn87/AEi/bjl/4n8fI/4SfcuT/LxPaw194O/v87+T
R7dSsR6OfnP6Vfpc4J+Je3kPSudtXf8AdqZGDAAAAAAAAAAAAAAAAAAAAAAAAtG5w85eNPZ08csv
5QcqM8jwzTzGZaW0WuhoqZLpmmoWc3WGvlxrTTTTGGVEcuVZxcvk2ufDTtfFTUdHQ193u1ba7Jab
xeLeFLb7VrtfuYPb1a+WLTDCcbr9MOLuA3qa66V6DUl3mktFvnjZWWyp115C5PTp7nyDOlt9wqqe
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
kXf86TRXp5tlzHUdHbpv1X3qfDdVjnhJ+5yXfxP/AA1/4OX9dntdIpw/bxO3nr0m8YA1ERE2322T
bfqv8/zqvj4/fesiNMTF7zeZt3vR5u7PYlPPt8+me/OzI6Kimp6yGSmq6eCqp5EZ36eoijmhkVj0
e3ykUrHI5Ee1jk332VN/FEUxHFFV407bzfp7PPeemLdMu/POvsc3edLVa2psltoERPBEo6ZE23Xz
eS6eb5vq3XF8SNlradM9vsW9PfLRMzM6zPXzz3W/ku2f4Oof5HT/ANrHFi9ndnyMWjqg+S7Z/g6h
/kdP/axxYvZ3Z8haOqD5Lteyp8m0Oy9FT3HT7KnXxTyfrX5q+vdxYvZ3Z8hw09Uc88639UUMUEUc
EEbIYYY2RQwxMbHFFFGndjjjYxESONrUaiNTZETZNtkQ5RfbPvp2+fy+ee/OdmkbOeeZv2AAHwT7
/wD0ffmJvabTrz2+76ek59v2PO6nxNfsrnSIqK1feSyMT3qvVOjXJunVN/b038EEcWuttmzz37/R
t80zKO3XmfY5uJEidUfJum228sip0VfFFd1T4ezZOlNU9UeXyefs1JDfaO5PQ4b2w/YPZDWyxxMd
lfNzFmSVPlGU6VOoek2nOnNvY2WFVclVLXZXBFE1Wqx0ksbHuax8j0vd20TXubf9OmkZeen9XErq
nW+y1PT3dJlTZ2qKN67mnXbjX6vGoimNOu87b9Wk63nzMXdZd9uitT1oiJ0339a7p/Zerd1FE20n
WZn/ADe5Ec3mbnX0ezMeTzuZkAHmX/T6/X8OnqUxMTbSemPb8gg7PSUbTSU3JriZf2LP7uvWiOpN
nqkc9PcvuPG88sddQLBCse8c/lsquHlF77u83yKd1qs70kv8Gav9nz1HVXRPdjEjr/Z8/TraK+EE
Wx8rPXTXHcqjy+fvIdokShAAETV6MfR1qZh2iFyfRVjbdU2Hh9baW4rSztoam4UFTyxqrhb6WsVq
R1FdBTXS1STRMcr4WXKlfIjW1ETnxrwl4ZoyFMTab4t7/wAlESkPg5Fp3hMRNv6L0zfFv097To65
vKLNb86nxN9v/wA57SJxs2W7/p7Z5t1JP189fP4omdmQA47dd90X2dOqdU326+zb19fHzLi/Ztm3
Pc51u5558qQD2Fl0ob9n/bGZFbKxbhbsi7Uzkpf7ZXJ5byVZaLtlN0rbRUwe6YWSthdbp6XuNka1
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
2AABDXekxYzDJxx4p58romz2TknUYLEjqieOV8WbaR6kZHO2ODZYpW97TOBznvRZI1Rvk9mvnckj
8GKpjNZzDvpVhX9MVxETbp29ey+qg3/T/s2Xrtfgxoie9NOJfp2XiO3W/RMzCJpL3624RqzueTdT
7e+VVcj0n2/mJ3WojERE3Xbze923l2ttdJ555lFaYtTbq07nFr6dvc1na7TDLrR6rK6JG7q2Jkm/
e6r3nzN7qNVvX3sKruir47KjU2cuYiJ6bEW6ZtF4jz29lGg+jf4fW47wJ1GyarlWWn1N5S6mZjam
upoYfc9utGBaP6ZyUzZY66V1Yz5W07ukvfkZTORah0aQOZGyqqYZ4RVxVn6Kba4eFRTPberErv3K
o6Z6NdbRLPB6mqMhiV1TaMXFqqiOq1qOvW/Be/bbW10/soV4AAJZnbJaoQaSdl1zNvk1Mla7L9Kq
jRaGj3i8pM/Xm/WnRKSaGKZ35stPS6g1NY9Go5yRUMj+6vcU39y4Prt55WmJtEYnFPTphzVXMTr0
8M97j0ibRE6G88T1e7s5M68VE0x/pzwR7d7eW8yxfRhKeKm46csY45/Ld3kDYGLtH3Gt7mkeFIiN
d5R3f9u/T9ktPCeZqzGDFtfVdOm2qvs57L3Vvg1H+x5jtxP8MRrpGukz6ds6zMTUj026qxF6bp30
/wC0ns/7P3/qVVjlNpiJnSfx9sdXn7si8Xr83f7ezz9kzLvp/VM/DoZ0657nsmnXPc9k76f1TPw6
DTrnueyadc9z2Tvp/VM/DoNOue57Jp1z3PZO+n9Uz8Og0657nsmnXPc9k8o1OquZt0TdHb+Kq3w2
9qff/Eqpt0Tfnvzz3TS23nu8378ttc13gqKmyKiou6Oave7rk6+Co3f6PivCJmZtMWnb16XmIn06
d2eq045558rkcgAAPh8Ph9Exzz3OdZlzzz5XWkrHd7uvavd2RffbJ1TvJ1VPHu9fiVPaimY21RMT
E026O/29nb39pFpvr3Nfd7O325nkj29VVzdk86O386onm9Xw8VTbonXntns7vpnOnRzt7ez2+rWC
K9IkRqdpJhqtf3lXhrpAr07qp3H/AJeHKRvc3V3vvzNrHb/9vbrsqk28HJ/9sxuzGq+1w0Q39E/n
+H1epp/CY0e57O1I+LpSgGe+G+c4Zo7zT4za0aj319hwLTnWPCstzG709mvN8qbRjtqc5twr0s2O
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
87ZIGjXLtqe01w3knyl06xjW3B7fimmPJLXrTfDqGbRLT2uqaLEcJ1czbFsaoquvqaJZa+pis1mo
o5J5VWSZzFkeqvc5XTjL7k3bXlsviV4dc14mHh1T49taqYqmdnTfZ0d28Oxd87xpx81h010cODiV
Ux4utoqqiL6z8H8erHH1cbtUOv8A7+sC8Om+g+m3Tx69KJPV8Nzt/Qe6/wCZrn/TnyQ6/wBM7z/n
aPqwsc5IcnNdOX2plDrByHym0Zdnltweyac0V1smJ2TEaOPEbDkGX5JbKKS12SJkU9S265pfpXTv
70jkqmxqqRwxMTeyuVwMlhVYOXpmmiqqatZmdZiInWeymOb30sfMY+axfXZiqK64pimLRa0RNU9H
bVM+nbticEHe6QDq8m9JHSMlVjlaibeTjkb86rFVWvTqitRu6b7L50Xqq5ibRbp/Hz2d2WLbe2PL
r7nlcZG1r3uf8oyN7yN6JTxLsqN2Vd1f513X1bqZibXvrf2euJ6+dZnFp6/c9qeem83mStrHIiPu
ErlRGtRyQRMVGsd3mfOPTdUcjV67+HXfruvF5nb6e/7d/wAWsy4dO3r9rr2e7Ou1z2m8n5J1Qro0
YxiM8m1qe9RUV3vXdFVN+nh75engYvtvN59Hb1RfuzNtNelmYvExsvbZfovfbVMa97qtHSd2VEaj
ZlRY292F3caro0a5yxefZ3d386dV6+szExGzo1jZ5L+fpIi14iItOnTsj027sdzW/YnT1+H3yu+i
nzDiy87YqhidK173bbNdLBG9WJ735xGvbsuzGfhW+ZFRc329vev09cTfb0+W/Gmnh4tb8W3ov37b
fTf25aWCZ2/lKyRWuc1ZY44Yoo50RXd5sjd16K3p06++XqvguYmY2zxRO2/Tt22t3dvbe8kU22T5
u/1zMW2abNLW1mXe3yrWIxJl7qIiIitb0RO+nmXr717k67psqIqLsimImY6ddNe937zrbr8+s5iI
ji6qpv5pjotz3G9l36qu2+6J127yq9XO238VVzl9vvl3Vd13X0mNt+efx3W1mZ1m/Puz6Z6ohswy
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8
PZ4b+1fV8POHrpYGVDXRoyodMrveOjWPyKMREVXSI5iqmyo7dd0T53p4uXlTTNWkR6e70W1nTrjb
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
46f1q6aaYvbTXXWNtontr3dvLComrEyVUxT00zTVOs2jxKKq6ui82vptmnWZstwyw5lqNmeP6fYN
jsuQ5nlWUW/A8cxKB0NDfbjnV1vUdgtuPSMu9dTx2yrdd5I6V7ax1O2OV/5pKxrXONyuqjDw8TFr
qth4VPFM7Y4dddO96LxeLzENTCivExaMKKL111cMReIm/Fa2uzr10i/Tq/fzvANQdJ85yrTHVXEq
/B8/wqvgtOVYpdJKGavs10loae5Npaie211RTzd631tvnY6GeVjo6pq95d0OOHiYWNh04uDX6zCr
vabWvaqaenvef0uVWHiYVdeFjUerxcO0TG214vHdjXnX5ByVkk1FTUNM6rqq+vorZSU7GqslTcLh
Ux0luo4fzRqeXmqXoxiOXZXOTr0Xvc4tw1TOynWZ6otVednZHdnbaZcYvNUREXmZiI6LzM2iLzsv
19vZN7k6XhdzPuuveRcW7Lxyymv19xXDKbULItMo73g0l2tGE1U1jp4cmqrmmYR2xbatRk2ORr3K
90jX3WON7Gva9prTncjTl/zyrM2y0zw01cNWtWunDETVGyeifezN9WxTk85Vjzloy/8AtFMcU08V
OlMTa99InbTOk/rRs1v+bx34i8xuWdsgvXHDi/qjqvj1db5rpas/paC1YBpTeKSnq5KKphseqeql
3s+OX65xVMb2SUlHdaiqb3N1p9l7y5zGbyWUmaczmqcKu9rRPHMTF78VNHFXTGzbTtvF9JccvlM5
m6ePL5equiNb24aaom9uGqvhpmdL6TOndn6DXvhBzd4tWWnyjkJxS1M02xV8SSVeYR1uFalYNZ0d
cKS2UzsqzvSDJL3acHkqbhX0VPSQ3iqo5aqWVG06TL30bxy+eyGbrqw8tm6cTEp/VtXTM/k8dNM1
W2zaNI11tLONk89l6JrzGUqwqI/WvTVEazGvBVVEXnhteYnbprTK06Kqr1fBTPip6irrqiko7bT0
ENTVVNXW19U2lt9DT0MM75a2ummkhjjhhR0kj3e9b3XMc/btTrN7RTtvzs6b9+LTrMavFNtabzVb
ht29fb2be29om/LTjsxe0u1bxtmV4Hwe1dqbNJO+CKozq+6V6I3SpRqyo2qpMR10zrHrvPQP7m8d
Q2kdTzMVksM0kcjHroV7z3ZhVTTXnaLx8Hirju0UVdFtttbx0VTG/h7t3li0zVh5Oq0fCmKJnbsi
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
F/eURPRefh+yIZ5LgF2+8Xj5Pgvj7N/7DQvnO3/1fh1Ve/e33duL5er7fC8vO2evc+m799x/qf8A
w8wk20f/ABWn/iY/+SW8++qU9PvY70f4kyXsco2SdrBwoa9O81Mh11eibqnv4uJfIKWN3RfNJG1f
xvjRa7e8zG6M9b9iP/mYfPN1hun7J5SO2vzYeJzzMTb32idDSSdpPzba+ORUm5D6jvlRtVWRo93e
k3XaOdO74eCbJ9+q9+7JmN2ZTsw6ftquebunPxE7wzsftz7tmD9Jcvs2jGtmhOt9VYa290uimt+j
OsFdZrdUzrcbtbNMNTMXza4Wug90VXk21k9FYJoolkVGI+Rqve1qOe3uxaK8fL5rL01RFWPh1URM
7ImuKqYmba2idZiNsXjtdGBVRgY+DjVUzNODXTVMRrNqar6R0zpf8SYz20uFJZ+f2Zch7TdmXjR/
mjgGiGt2heqNuY6swHNcftOiOC6d3i34zk6sdSXuqjhxHG7xJDBK+op6DL7TUSRxU1yt8lTW7jxI
qyEZeqeHGylVdFVGnFHj11XmNtp45pvedYq0jxqsSw3vh1U5yvM0xNeBm6aKqaotw6UxTO22sxTT
PemJ11vKvgs97ym62PDcPpblm2cZNdqGy4RiGM219zyXIsquk7rbZrXZrTb2LJca2aoqGRthaiqr
p+iO/M3ltPBh0YmJiz6vDoi9UzpaIve2t76X7vZxVdMVYk+rpomuqubRGmszMxFOk31nTWdL61Ra
8xFnKG+Yx2fWmPYRcC81yXFocu0E5N6F8v8AlNdZbs+ttOk7q/WKursyqKu4x9yOpx+e56ua7y2+
qR8aJSaeJVy0MEFTSQrG8pFe8MTf+fp4poxsGvBw9Na7UxNN4i0cUU4dF+2uIi+szIcxNGRw9zbv
qmmK8LFw8bEnWYp8euKpib3tM11zF76UTpeIWKdtHpjlGlPaYcgarKKO4Y9j+slZiWqWmGQXFKGW
35pj1RptgeO5RLaalkCtSotmcWLJLfPSvRtVBEyhnmjdDX0NVWWG4sWjH3bhU0zFVeXvRVEX08aq
aZnW/jRN4mImJnii+l50N8YdeDvDHqqi1GPw1U1TfxoiIpqiOi9ExMze8zFVGy9UzYvx70lyvkJy
H0I0MwFlbfsqzjWTSumeyz0XuubH8St+X0NxzvNrrHTUcvuSw2fGqS53KsmfE9IYrZIvdf72KXez
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
PXr0zOl721mZ06+7yimmn3sRT3o7OH2ojb2TtvM+84uQAAAdFRS09XGkVTH5WNHpIjfKTR+/a17U
VVhlark7r16Kqp1Tpum5mJmmbxt/H5Z9EzHXfExExMTsnb29/rjv9zpeWe0Wyqj8lU0cdRF4eTmf
PKxE2c1NmvlVETuuVE9ibIm226qapp97NvP7d9OzZ2E00zFrabO5e3P42c9GeSPJ3jhDb6Hj/wAk
dbdJ7Ha31kluwvGNSsofplSzV1U6rq6n8qy83CrxyapkqHOkdI+1vernv3f+aSI/oxstlczNVWYy
uHi11bappiKp2xHjU2q06NdO5buwcxmsvEU4GZrw6Y2RxTNMbf1ZmadszOzXp2RM334d233amYnK
2S58isV1Gi90SzsptRNDtIaeLyElE6kipHyabYzjkq0scqpVNcsqzrN7ySomi/8ACmjVuPddd7YE
4dvg4lX+OavNbb02hu0753lRe+NTi3+FRHXPwIote9unZFra3yKnb+dph3d1v/HHvIqKrfymr7ui
bqvXbU/53ZE32TvJ3vDdFcvVHg/u2+3F+vT/AJPd92XP9Pbwvsw7fJ19v7fZzpfFmZdtf2puY1CP
ouTVk09pHPrPK23TrRXRltJPFUtp2xwrXZ3ht/uFO2D3NI6F1PVwzKtXP5WSZI4Pc/dh7k3VhxMV
ZecWeuquu+39mqmLadU9szeHXO+N5V//AJEYdtPFopjr+HTVPTGsTHR0xMzYFq/rXrzyLWf+EFr3
rPrRQzXKO8Mx3UTVDNL5gtFc4UijirrFp5LeksOOSN9zM/4hb6ZFcj37K573O3sHAy2Wm+Xy2Hg1
fCpoji+tMTV0dfuzOliY2YxqZox8ziYtE68NVdU03114eK3m9qGKIbRa6aFKano44KdE2bBA+eGJ
qbqqdyOKZEYu69NuqdOp38VUze+vPPu7Ynp4KY6PJ3L25jst7IIIaWFkEDVZEzvdxqvlkVO8+SR3
v5pHOX3z3L1VduiJsiIhx55592ZzEREWjZzzzd2hkAAAAAAAA4ua1zVa5O81Vauy7+LHo9i9F8z2
tX8ZN/Pu55592ZPzbtZLRfaVaK82+muVKqscsNWzyjd41csaoqrumyqvn86+O7u9mKpibxNp6+9f
Z1bZ2ddtdjjw0zE020m/pvMTPovETaeqOmLvmPysNO/6D7N/J3/2w5esxP5yruz5XH1WF8CD8rDT
v+g+zfyd/wDbB6zE/nKu7PlPVYXwIPysNO/6D7N/J3/2wesxP5yruz5T1WF8CHbDpvgNOkrYcTsz
EmRiSolI13e7nlO5sr1VWKnlHdWqi9U69EUzGLixFvWTb8fWeqw42URExzzzL6qit9DbYvIUFOym
h7sTEijdKsaNha5kSNY+RUZsxduiJum26rsinCZmds7NO5Fo80c7Z5xERpHO2XsMMgAABkbQnVCu
0E190m16sVktV/yDSbOLFnNrs18rbjS2i8VlkR7oaGvnoFWWlp3orWq+Nqua5GqrXI7uv4Y2DTmM
vi5eqqYpxaZpmYtPDrV41uno6ertmOWBjTl8ejHppiqrBqiYiZteNb9E2jbrf3ZfY8pOQGR8suSW
rnJjLsdsWK5HqzW4ZW3PHcZqrjWWG2feP0zwvTagbQVV0cs86TW3DKOoldJ/8tUyoxGsRqN4ZXL0
5PLYeUormunBvaZi0zequrZ/pW5m/Zj49WazGPmaqYonFmNIm8RwxFMa9sUxPZMz2rf/AHHS7St8
lv5aR8kirJMrnOe973++WVVaxXPX3qKjdlRO7smx33mLx0Tz+Pr6bum1pvG3nns69szc9R8t9You
F+Y8DLzVWzLtD77muG55hsV6lur8l0ouWNZTRZVdLJhNZBcEhTE7ldaRZpqCohkjpqmrr6mm8nLW
1CSav5lgzn6d4xPDjUxMVREaYl7xNVU62mYnWY1m22+rYpzmP+ZYmRnxsKqY4b7aIpqv4vXE2vET
MxF7RFpl+hw55ma28HdU8i1I0ZqMdu9uzbHkwzUrS7UJl7uel+o+L08s7rL8vWK1XmkcmQ21klxS
03Pd81HDdLnSvSoo7vdaOtzm8lg57Cow8SJirDq4qcSi0V0zsmI672jSdsxHjU2iWMnm8XI111YU
xNGJEUzTVfgmL1WvF9vn1nbeqJvCou1F4y2a5QZXj3Y1cBLPnlJV0dxt+RpBZJsetd5oKinqbffL
NgkWjUEVouMNRb6OeKelq4Z454XTtqWyzPkbpRunMzExVvrMcF/e+Nedt/G9ZMdPTHuX3Y3pl4mZ
p3PgxifC8W06zHwbdvv9L7dImbPeYfNTkTzu1JtepPIHJLJVNxKmfSab6a4FQXKy6Xad09TBSQ3e
qxqy3a83CpuN9uM9FT1Nwud0rK2qnlWOCnlpbbQ2y10W7k8hlt34VeHl6ZvXPjV1zE1V7ZiNNLR0
RER23mZmdPN57HzuJxY2JHiR4lNF4pv0zrfWbbZvMbItF5c+MvLXLOMOinNfRjEcKxXJLTzS0hot
Hcxu+QXS9Utxw2y0GI6wYhJdsZpqL8zuVyfS6v3SVG1D/JMltUCbPa+VqccxlKM1jZPHqxpj8yr4
4iOGeK9UTt0tE+rinp7vFdlc1iZXAzuBRh8dObp4JmbxNMWxKb6RVF5iuOm0TMXmInW1SJiRRsjT
wYxrEX1NRU3/AGPhubd2vGkW56efxyz1xZ5AZHxN5J6S8mMRx2xZXkek1dmVZa8dyaruNFYbouYa
Z5zptXNr6q2OSeDyVuzKrniWPf8ANoIkejmd9rujM5enN5bHyldc0U43DrEXmOGqmrZ/o27vVr3Z
bMVZTMYWZppiucKZ0mbRN4qpnXW2lV+/Edt/jdc9UK7XrX7VvXm+2O1WDINWs4vmdXSzWOtuNXaL
RV3pJHTUVBPXuSSqp2+TVqPkRrnOc5UandVqc8vgxl8vRgU1TNGFTFMTOk1Wnbb2evqiZ4YuLOPj
Y2YqiIqxqr2jW0a21tF72i0/lRrpM43em8cje75RHtWNzO6xyPZIrmSMc2TorVZui+fbfZd9lTsp
0m97dXf1tO2Nk636NOrXr1tPX7Pk52pjfGvtNM+4+cdqXiTqToDxz5acbLRk1wyTGNN+QGOVlzuG
MVlwui359otF0uLbjbJbJS5BJebnQLV2OpuFDWXqs8lc0pGUFJR1+Z3Vh5jHrzWHmMTJ4+JEUzVh
zpVa8cUxE0zedL2q1tE2veqqwyu868HL/m1eFh5vAonxaa/fREzNrTN4tF9LRMxxTEaRdm3Du2Cx
7RWpr77w/wCzU4Rcbs/rrdUW2TUiOkrs4yaC11rqZtwoKa42HGcVr22tzKOhelEtxdRLPTtnmp5e
9Iw6J3NXixVTmt6Y+bw9PFm9NM2mq1+Kqu3VeKZm/pl3Ub4owoqqy27sHK1R02i+t40mKaau3WJj
S3bVKW1KzTONb86zbUnWbML1qdnupN2kvmoGZZHNSvq8guXuJtsplfSW+miprJZqW0tpqK322hgp
LfbKCmpbdQUdJSUVLSxW2DRh5fDowsDDjCow4tTEdUTVMzN6uKbzeZvMzM1RNr3lVYmJXmKsTGxq
vWV16zeNZ2xaI6NIi2myLW0hM/wLtf8AVqm0TxTjxyz498c+dOmWFQ0VHiM2vtpmTUSlo7bRy2y1
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
m1truFmutviV69FVy3y5ubt5o37ruiokZ8JqIvk8WOmK6Z9FUVR9tfmZSLwbrnhz2FM6UzRPpmJp
n7SO7HfmrRdmLq47Xvs4eB2sMtyiu1wzviZoDeclrIJPKs+9qzTHFqLNqV8jnuc+eDKqa8U8m67p
JTPRyqqqhFUmQyPpmPZ8x6v8XdKe0PwCxQzZxxcusGlutNXR0VO243bQPUfII48Tutzrnv8ALVdL
jGqlygipKWBjmsj1YvlbM9sdG5UCF24O6xxaqaC2WnuNYyTK9MUosCyJnfb7qqLTSUfk8GvEsLHO
f5GazUyUTpJOs1TZKuRVVZXb+gbjzUZrI08WuLlrYdXbEX4Ku3S0dfiVTPXMG3tlfzTN43Dph5nx
6dmkzMzXG3sq7I9ZTrfScXaV6LJzJ7d7jXx3uNAzIMWvvIjQLFMps6wumhl0ywukxjL9W6N8S796
NMcs+ayP396necrt2orli+/a5r3pmYmb+riinuURfzzPs2iZkm46ODduFOycSaqp7fHriJ29UU+b
rm9YsjVVdOi7e9exG9F+d8nGvVV8ffK75vt33p1q7AAAAAAAAAAAAAAAAEl3t/ee8vZ29ltyI1Yx
2/z2HVvU62R8eeP1Zbqytt96odV9U7XkNv8AvV2K5ULe/bb5jmF2/MMpo5XqkTqrEaeBXd6oax4Q
9PoUPBmXGNOeTvaLZjan09y1KrIOMuiVRUMuVJUOwLF7jZM21nvlM170pbzZLrmtNp7b6eZrXS0t
ZpreIUeiTStAjuAAAABTBO0t/wAtI02+3/7Iz8QfCcCp7QfOyfxsv9ekAph2pionpplt3/R9aQp8
3TrB2p9/8POBU84/nXf2cv8AXgOYACH99KV+sKc6/wCM4v8A2Z3HtPZ8Pvwac89nOszT4OzWp5pe
MeQujjc9qa5ZkiqmyIi/le6RJ1VXJt5vm+pd5t4NxM7txYj+eq+0w+1D9/TFOfpienBo/CYy/FaS
oRUasad5dtm+Vg73VXIiq3yu6Juxfh1W84Z6ueeelS8VPRN7dk88+l0vY+N7o5E7j2d3vIqt2RHJ
3mr3kVUVO7svj4KnrU4283Puc6zPKLTrE3jnt587gioqbp4e38dU8/invV+HVQ2AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
IsXsLPSt8Mzay4lxL7VrNaDC9QqF9lxrTHmZepIKHBc7t8jmW6jsvJOsWVsOn+X0060+2YP7ljuV
JUSz5I7Hau11N9ymJ888+VKefb8nn7145u0Xe05BabXfrBdLfe7JerfQ3ey3q0VtLcbTd7TcaWKs
t10tdxo5pIbhb6iklilhmie+OWORr2Pe1yOcH6AAAAAAAAAAAAAAAAAAAAAAACXV2qPZ06VdqNwq
1T4s6jU9ut+Q3K3VOUaI6h1VKyer0p1wslsurcDzmnkbRzTfJKVdbLb71T06MmuFhvF3oIp6aWqi
q4QpHfZi4vfcI7YHs58Myq2VNlynE+0c4j4zk9krGxpV2fILDyp07tN3tdV5KZ7fdUFdSVMT+6qt
R0So1XdXKFbWYzuI5N993vdvtt889ztvFfaBzA0qIqKioioqKioqboqdUVFRV6p9Hz9VUJOvb6cQ
sV5odkhzF0/vVrpKvJ9MtMsh5F6T3SShhq7nYdTNDbJe86tzrA+WCRaC43fHbfk+MTTMaj/k/NLh
E17PLOegSAvQg9e8pyvjZzt403WR8+NaMat6QasYpLNOsj6afXjFs6x7JLPRxvcq0tsiqNBbdWNj
ZtGlTfKuVGpJPM+UI4gAAAAPh8Ovw+/ApRfpK+k1Zwk7fDNtZrNBbLdj2t9j0Y5VY/Z7A1I5pbXf
KKq0r1Worwkid1l2vWd6XanV1QrfnocjjfujpHPTZyePiZTM4OZo24VV+/GsVRe07Yqtsm3F0zq6
Mxg0ZjL4+BXrGJTMd6dbT6JiJjt9MzkSpajZ5e6qK1ytkYrV3arZO89qoqeKd13T1OX1KekTEXqi
JvHR5+2ei3m12vPKImKKYnbERE+i/svOYcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAADaLsqKnmVF6p06Kq+H4/w6qI02c7Tnnn3b9kUjYpGSo1/lI3NcyRs
3dexWvcqLGqxO7q933u6o7oq7IioirypmKfe6fjm/d6te/0uM0zNPDM3jZs16ds9PZfZptWY8iOF
WnWudXccsxyrpdNNRalJZayvt1t7+I5dWO8pK2oye0QSNfRXeWRGukuNJ3pJVkmlqqS4Tqx5Ubw3
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
eH8gb+Hf9EadU932Dhn4c+byG8P5A38O/wCiNOqe77Bwz8OfN5DeH8gb+Hf9EadU932Dhn4c+byG
8P5A38O/6I06p7vsHDPw583kN4fyBv4d/wBEadU932Dhn4c+byG8P5A38O/6I06p7vsHDPw583kN
4fyBv4d/0Rp1T3fYOGfhz5vIbw/kDfw7/ojTqnu+wcM/DnzeQ3h/IG/h3/RGnVPd9g4Z+HPm8hvD
+QN/Dv8AojTqnu+wcM/DnzeQ3h/IG/h3/RGnVPd9g4Z+HPm8hvD+QN/Dv+iNOqe77Bwz8OfN5DeH
8gb+Hf8ARGnVPd9g4Z+HPm8hvD+QN/Dv+iNOqe77Bwz8OfN5DeH8gb+Hf9EadU932Dhn4c+byG8P
5A38O/6I06p7vsHDPw583kN4fyBv4d/0Rp1T3fYOGfhz5vIbw/kDfw7/AKI06p7vsHDPw583kcO7
AiqqQNbui7918ibr16r77xReqdPHzr4iLRrERfvR5Pd6upiKbbKrTe/f27fNzcXxVfav/W76P35j
nnn3XPZpGznnmb6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//Z" class="layout-img">
<p class="layout-tip">哎呀,找不到该页面啦!</p>
<p id="tips">请检查您的网络连接是否正常或者输入的网址是否正确</p>
</div>
</div>
</div>
</div>
</body>
</html>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//Z" class=“layout-img”>
哎呀,找不到该页面啦!
请检查您的网络连接是否正常或者输入的网址是否正确
</body>
```