nginx反向代理与负载均衡实例(Springboot+Idea)

nginx反向代理与负载均衡实例(Springboot+Idea)

1、在idea中新建一个springboot工程

在这里插入图片描述
在这里插入图片描述
接下来删除src目录,创建多模块项目。

2、创建两个子模块

在这里插入图片描述
创建子模块demo1,在java目录下分别创建程序入口App.java和HelloController.java源文件
App.java源代码:

package com.zut;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}


HelloController.java源代码:

package com.zut.controller;


        import org.springframework.beans.factory.annotation.Value;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("")
public class HelloController {

    @Value("${server.port}")
    private String port;

    @RequestMapping("")
    public String hello()
    {
        return "该服务器的端口是:"+port;
    }

    @RequestMapping("/hello")
    public String hello2()
    {
        return "该服务器的端口是:"+port+"我是hello";
    }

}

接下来在resoures目录下创建一个applicaton.yml配置文件

server:
  port: 8081

创建子模块demo2与demo1完全一样,唯一不同的是application.yml文件中的端口号,因为后面需要同时开启两个模块,避免端口占用。

server:
  port: 8080

3、修改nginx配置文件

在nginx的conf目录中,找到nginx.conf
在这里插入图片描述
在这里插入图片描述
在#gzip on 下面增加以下配置

#配置负载均衡的两台服务器,nginx会轮询一下两个服务器
  upstream balance{
          server 127.0.0.1:8080;  #对应demo1项目的tomcat端口
          server 127.0.0.1:8081;  #对应demo2项目的tomcat端口
        }
 

    server {
        listen       80;     
        server_name  localhost;  #待会在浏览器中输入localhost

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
	    proxy_pass http://balance;  #反向代理核心配置,该配置说明当输入                        
            #root   html;                    #localhost时会到balance对应的配置服务器中
            index  index.html index.htm;
        }

4、然后双击nginx.exe,启动nginx,同时启动demo1,demo2

在这里插入图片描述
在这里插入图片描述
说明项目demo1,demo2启动成功,可以在任务管理器中查看nginx是否启动成功
在这里插入图片描述

4、运行结果

在浏览器中输入localhost
在这里插入图片描述
当刷新页面时发现走到了8081端口,说明通过nginx的负载均衡机制,交叉转发服务到两个不同的服务器中
在这里插入图片描述

这就是最基本的负载均衡的例子。通过nginx的代理功能将拦截的请求通过upstream的规则进行转发。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值