1.基本概念
1.介绍
由俄罗斯人研发,应对rambier,并且2004发布第一个版本。
2.特点
稳定性极强。7*24不间断断运行
nginx提供了非常丰富的配置实例
占用内存小,并发能力强
2.安装
nginx的核心配置文件nginx.conf
docker ps进入容器
docker exec -it ebd(标识名) bash
cd /etc/nginx
clear
3.反向代理
1.正向代理和反向代理
正向代理:
1.正向代理是由客户端设立的
2.客户端了解代理服务器和目标服务器都是谁
3.帮助咱们实现突破访问权限,提高访问的速度,对目标服务器隐藏客户端的ip地址
反向代理:
1.反向代理服务器是配置在服务器端的
2.客户端是不知道访问的到底是那一台服务器
3.达到负载均衡,并且隐藏服务器真正的ip地址
2.基于nginx反向代理
在正常访问的情况下,实现反向代理
编写nginx的配置文件,通过nginx访问到tomcat服务器
cd docker_nginx下 进入conf.d修改default.conf vi default.conf
3.关于nginx的location路径映射
-
1.= 匹配 location = /{ #精准匹配,主机名后面不能带任何的字符串 } 2.通用匹配 location /xxx{ #匹配所有以/xxx开头的路径 } 3.正则匹配 location ~ /xxx{ #匹配所有以/xxx开头的路径 } 4.匹配开头路径 location ^~/images/{ #匹配所有以/images开头的路径 } 5.~* \.(gif|jpg|png)$ { #匹配以gif或者jpg或者png为结尾的路径 }
4.负载均衡
提供三种默认策略
轮询
将客户端发起的请求,平均的分配给每一台服务器
权重
会将客户端的请求,根据服务器的权重值不同,分配不同的数量
ip_hash
基于发起的请求的客户端的ip地址不同,他始终会将请求发送到指定的服务器
1.轮询
至少两台服务器
default.conf的配置
docker-compose restart重启服务
2.权重
3.ip_hash
ip_hash实现
5.动静分离
nginx的并发能力公式:
worker_processes * worker_connections/4|2=nginx最终的并发能力
动态资源需要/4,静态资源需要/2
nginx通过动静分离,提升nginx的并发能力,更快的给用户响应
1.动态资源代理
#配置如下
location / {
proxy_pass 路径;
}
2.静态资源代理
配置如下:
location /{
root 静态
index 默认访问路径下的什么资源
autoindex on:代表展示静态资源的全部内容,以列表的形式展开
}
#先修改docker,添加一个数据卷,映射到nginx服务器的一个目录
#添加了index.html和1.jpg静态资源
#修改配置文件
6.集群
单点故障,避免nginx的宕机,导致整个程序的崩溃
准备多台nginx
准备Keepalived,监听nginx的健康情况
准备haproxy,提供一个虚拟的路径,统一接收用户请求