nginx反向代理与负载均衡

网友投稿 296 2022-09-04

nginx反向代理与负载均衡

nginx反向代理与负载均衡

​​nginx 反向代理​​​​负载均衡​​

nginx 反向代理

在介绍反向代理之前,先来说明一下什么叫做正向代理。

正向代理服务器是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

如果我们无法访问到谷歌网站的时候,就可以设置一个代理,然后我们去访问代理服务器,代理会向谷歌发送请求,然后再将数据返回给我们。这样的代理就是正向代理。

那么什么是反向代理呢?

那么如何在nginx里面设置代理呢?其实我们可以这样去做,在配置文件中进行修改。主要是下面两个部分。

可见,我们监听的是82端口,但是我们设置了一个代理,当我们访问外网ip+82其实就是相当于访问到外网ip+8080。这是一台服务器,如果有多台服务器的话,我们设置代理的话也是这个原理。

当设置玩这个配置文件的反向代理之后,保存后,然后我们可以去检查一次配置是否正确,然后再去重新加载。 检查配置是否正确

nginx -t

重新加载

nginx -s reload

负载均衡

其实之前在微服务的时候我们也讲过负载均衡。

早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。

其实按照这个说明来说的话,其实负载均衡就是对服务压力的一个分担,在微服务里面我们一定会用到负载均衡,一个服务应用的资源部署在多台服务器,这样在访问应用资源的时候就可以按照相应的负载均衡的规则去访问相应的服务器,这样其实减少了单台服务器的压力。

nginx也可以做这个事情,它的负载均衡是基于反向代理。

那么如何在nginx里面去配置负载均衡,我们还是去配置文件里面进行修改。很简单,我们只需要按照一定的规则格式去写就行。

在单台服务器我们去模拟这个过程, 将同样的jar包拷贝,然后两个jar包分别运行在不同的端口。这样其实就可以模拟两台服务器上同样服务资源。当然这样两者一定是端口不同的。然后我们就可以模拟这个负载均衡策略了。

#upstream指令可以定义一组服务器upstream targetserver{ server 192.168.200.201:8080; server 192.168.200.201:8081;}server { listen 8080; server_name localhost; location / { proxy_pass }}

划红线的部分一定是需要名字一致的。

如果多台服务器的话,上面的server部分是直接可以去改的,

默认的负载均衡策略是轮询,也就是访问两个服务的概率次数一样,这个次数概率一定是在次数很多的时候,才能每个趋于同等访问次数。

当然了自己也可以去指定策略

nginx给我们还提供了一些负载均衡策略

在配置文件设置参数就可以,比如权重的配置

#upstream指令可以定义一组服务器upstream targetserver{ server 192.168.200.201:8080 weight=10; server 192.168.200.201:8081 weight=5;}

当然这个权重的体现就是在大量的数据访问的时候,才会基本去趋于它的设置特性。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:“首月1元”保险营销被叫停,互联网保险市场前景几何?(保险营销现状)
下一篇:1316_使用python读取串口数据并显示
相关文章

 发表评论

暂时没有评论,来抢沙发吧~