第三次课程笔记1

preview
需积分: 0 0 下载量 71 浏览量 更新于2022-08-08 收藏 23KB DOCX 举报
【Nginx 知识点详解】 Nginx 是一款高性能的反向代理服务器,常用于网站的负载均衡和静态资源处理。本节课主要讲解了Nginx的基础配置、进程模型、HTTPS请求配置以及负载均衡策略。 1. **Nginx 反向代理和正向代理** - 反向代理:Nginx 作为客户端与服务器之间的中间层,接收客户端请求并转发给后台真实服务器,对外隐藏了服务器的具体信息。 - 正向代理:代理客户端向目标服务器发起请求,主要用于访问受限制的网络资源或者匿名上网。 2. **Web 请求处理流程** - 客户端发起HTTP/HTTPS请求。 - 请求到达Nginx反向代理服务器。 - Nginx根据配置决定转发请求到哪个后端服务器。 - 后端服务器处理请求并返回响应。 - Nginx将响应返回给客户端。 3. **Nginx 安装与配置** - 使用`yum`命令安装必要的库,如`libnl`和`libnl-devel`。 - 编译安装Nginx:`make` 和 `make install`。 - 配置文件通常位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d/*.conf`。 - 配置虚拟主机、HTTPS请求、负载均衡等。 4. **Nginx 虚拟主机配置** - 基于域名的虚拟主机配置,通过`server_name`指令。 - 基于端口的虚拟主机配置,通过监听不同端口的`listen`指令。 5. **Location 匹配规则** - `location`指令用于处理请求的URL路径,可以使用正则表达式匹配。 6. **Rewrite 规则** - `rewrite regex replacement [flag]`用于URL重写,`regex`是匹配模式,`replacement`是替换后的URL,`flag`是操作标志,如`break`、`last`等。 7. **Nginx 本地缓存和Gzip压缩** - Nginx可以缓存静态资源,减少对后端服务器的压力。 - 使用Gzip压缩响应内容,减少网络传输的数据量。 8. **负载均衡策略** - **轮询(默认)**:请求均匀分配到每个服务器。 - **ip_hash**:根据客户端IP的哈希值决定服务器,保持同一客户端请求始终分配到同一台服务器。 - **fair**:根据服务器实际处理能力动态分配请求。 - **url_hash**:基于请求URL的哈希结果分配服务器,适用于保持相同URL请求在同一服务器上。 - **weight**:为服务器分配不同的权重,处理能力更强的服务器接收到的请求更多。 9. **Nginx 进程模型** - **Master 进程**:管理work进程,接收信号,平滑重启、加载配置、监控worker进程。 - **Worker 进程**:处理客户端请求,执行业务逻辑,数量一般设置为CPU核数。 10. **配置HTTPS请求** - 需要SSL/TLS协议,使用非对称加密、对称加密和哈希算法保证通信安全。 - 生成服务器私钥、CSR(Certificate Signing Request)和证书。 - 证书文件包括`crt`(服务器证书)和`key`(服务器私钥)。 - 在Nginx配置文件中指定证书和私钥路径。 11. **Tomcat 配置HTTPS支持** - Tomcat的Connector节点添加`redirectPort="443"`和`proxyName`、`proxyPort`配置,以支持HTTPS和Nginx代理。 通过上述内容的学习,我们可以掌握Nginx的基本操作和高级特性,将其应用于实际的项目中,提高服务器的性能和可靠性。