nginx的反向代理和负载均衡,动静分离问题 ,,,集群搭建

1.代理
正向代理:

  • 正向代理服务是由客户端设立的。
  • 客户端了解代理服务器和目标服务器都是谁。
  • 帮助咱们实现突破访问权限,提高访问的速度,对目标服务器隐藏客户端的ip地址。
    在这里插入图片描述

反向代理:

  • 反向代理服务器是配置在服务端的。
  • 客户端是不知道访问的到底是哪一台服务器。
  • 达到负载均衡,并且可以隐藏服务器真正的ip地址。
    在这里插入图片描述

EditPlus中server文件发生改动都会根据在yml文件中的设置映射到linux中;一定是保持linux服务的开启

2.负载均衡
当你访问本地上的地址localhost:8080时(本地开启linux两个服务80和81,但是当你访问同一个地址时是怎么确定你访问的那个服务呢?就是根据引映射的ip地址),都会根据location中的windowtomcat指向上面的两个ip地址,这样只要不进行设置这两个被访问到的概率是一样的:这就是负载均衡。

  • 轮询:将客户端发起的请求,平均的分配给每一台服务器。

  • 权重:会将客户端的请求,根据服务器的权重值不同,分配不同的数量。

  • ip_hash:基于发起请求的客户端的ip地址不同,他始终会将请求发送到指定的服务器上。第一次访问的ip是哪个以后即使设置了权重也没有用都只是访问第一个。

在这里插入图片描述

upstream windowtomcat{
        server 192.168.32.130:8081;
	    server 192.168.32.130:8080;
    }
server {
    listen       80;  #这个端口的意思是访问宿主机端口号
    server_name  localhost;
    location / {
        proxy_pass  http://windowtomcat;  #只要访问windowTomcat就会先到这里再反射到上边的连接试下反向代理
    }
}

打破负载均衡分配不同的权重
在这里插入图片描述3.动静分离

Nginx的并发能力公式:

​ worker_processes * worker_connections / 4 | 2 = Nginx最终的并发能力

动态资源需要/4,静态资源需要/2.

Nginx通过动静分离,来提升Nginx的并发能力,更快的给用户响应。

1,》为什么动态是/4:因为要有接收和相应
在这里插入图片描述
2》要访问静态只要找ndinx的本地资源(事先在nginx服务器放静态资源)
在这里插入图片描述 3.1 动态资源代理实现(和之前一样发请求到另一个服务器)

使用proxy_pass动态代理

# 配置如下
location / {
  proxy_pass 路径;
}

3.2 静态资源代理实现(需要先配置数据卷,再在nginx服务器映射数据卷中添加静态资源才能实现访问nginx服务器映射本地资源)

使用root静态代理

# 配置如下
location / {
  root 静态资源路径;
  index 默认访问路径下的什么资源;
  autoindex on; # 代表展示静态资源的全部内容,以列表的形式展开。
}

# 先修改docker-compose.yml,添加一个数据卷,映射到Nginx服务器的一个目录
# 添加了index.html和1.jpg静态资源
# 修改nginx的配置文件

实现步骤
1》》yml里面加数据卷===把静态资源放在映射的本地文件中,当访问ndinx时直接映射到本地资源实现静态资源的访问。
在这里插入图片描述2》》回到docker_nginx重新加载服务器(这时会发现多个两个映射文件)
在这里插入图片描述3》》分别进入到html页面和imge配置资源
在这里插入图片描述
进入imge所在文件夹直接把图片拉倒文件夹内部即可

4》》修改nginx的配置文件
[conf.d文件下的default.conf配置文件中添加动静分离的代理路径]这个路径是nginx内部的路径,根据这个路径的映射再读取到本地的静态资源。

在这里插入图片描述5》》实现访问
192.168.33.136/html 或者192.168.33.136/html/index.hyml
192.168.33.136/img (全部资源) 或者192.168.33.136/img/1,jpg

附录

》》》一个server可以写多个location
在这里插入图片描述》》》轮询的体现
在这里插入图片描述》》》权重的体现
在这里插入图片描述》》》ip_hash; 的体现(第一次访问的ip是哪个以后即使设置了权重也没有用都只是访问第一个。)
在这里插入图片描述

Nginx集群(后边很重要)


7.1 集群结构

单点故障,避免nginx的宕机,导致整个程序的崩溃

准备多台Nginx。

准备keepalived,监听nginx的健康情况。

准备haproxy,提供一个虚拟的路径,统一的去接收用户得请求。

在这里插入图片描述

7.2 搭建Nginx集群

查看资料中的内容,直接通过运行docker-compose即可

1》在opt下创建一个docker_nginx_cluster目录
2》进入到目录内部
3》把所有的文件全都拉到该目录下即可(在我的资源nginx)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值