-
这里有介绍nginx的正向代理和反向代理:正向和反向代理
-
负载均衡主要解决的是服务器在高并发的情况下服务器硬件遇到瓶颈了,比如说内存已经全部占满了,服务器就非常的容易宕机,这样的话就会出现问题,无法访问项目了。
-
负载均衡就是解决这个问题:把同一个项目放在两台服务器上面,或者多个服务器都行,项目都是一个项目。然后用户访问的时候,nginx可以采用轮询的方式将请求分发给每个服务器,这样服务器的压力就小一点,如果有一台服务器宕机了,这样还有一台服务器可以继续提供服务,只要不是全部宕机,就可以继续的提供服务,所以nginx负载均衡就是要实现这样的结果。后面也会写用nginx+tomcat搭建负载均衡
-
项目结构
-
首相我们先创建一个springboot项目,记得要引入依赖,一个就行了
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
-
写一个controller,获取端口,因为我们要通过端口来判定是否实现了负载均衡
-
因为只有一台服务器,所以只需要改端口就行了,如果有多台服务器,可以把ip地址也给换了
-
分别启动两个端口的,一个springboot项目启动两个实例
然后修改端口,在去application重新启动一个就行了
-
这里就会显示两个实例了
-
这里的就结束了,下面开始配置nginx
-
nginx下载百度就行了,下载完成以后,打开conf/nginx.conf配置
-
这样就好了,我们访问nginx的地址,nginx地址也是本地的,所以也是访问127.0.0.1的地址,因为我把nginx的默认端口改成了8089,所以访问nginx地址是127.0.0.1:8089
-
一个项目不可能要输入两个地址把,用nginx进行分配
-
所以我们访问nginx地址
-
来回的刷新,可以看到端口号是会变化的,因为我们controller获取的是它的端口号进行返回的,访问nginx的地址后面有一个(/test路径)
-
这里说一下这个路径的问题,访问nginx是等于项目的根路径的,因为nginx我们配置的时候就是这样的(127.0.0.1:8089=(127.0.0.1:9090或者127.0.0.1:1010)),后面加上test,也就能访问到项目了,当然也可以不用写test,在nginx里面配置就可以了。
-
修改一下这里就行了
-
好了,到这里就结束了