springboot笔记(6)通过redis解决session共享,nginx解决负载均衡

1.创建springboot项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.注入配置

spring.redis.host=127.0.0.1
spring.redis.database=0
spring.redis.port=6379
spring.redis.password=123456
server.port=8080

3.写session共享

新建一个controller

@RestController
public class HelloController {

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

    @GetMapping("/set")
    public String set(HttpSession session){
        session.setAttribute("name","chenyp");
        return String.valueOf(port);
    }

    @GetMapping("/get")
    public String get(HttpSession session){
        return (String) session.getAttribute("name")+port;
    }

}

4.打包jar包,运行两个不同的端口

打包方法:
pom.xml文件写

<packaging>jar</packaging>

通过maven的package打包
通过命令行
cd到打包后的jar文件的目录下,分别运行
java -jar 文件名
java -jar 文件名 --server.port=8081

5.配置nginx,负载均衡

启动nginx,在conf文件夹下的nginx.conf
写入:

http{
	upstream chenyp.top{
		server 127.0.0.1:8080 weight=1;
		server 127.0.0.1:8081 weight=1;
	}
	server {
        listen       80;
        server_name  localhost;
        location / {
            #root   html;
            #index  index.html index.htm;
			proxy_pass http://chenyp.top;
			proxy_redirect default;
        	}
        }
}

在nginx目录下命令行输入:

nginx -s reload 

6.测试

首先,把两个端口的登录完成
在localhost上运行set/get请求
这里session共享,而且实现负载均衡

发布了33 篇原创文章 · 获赞 19 · 访问量 3548

猜你喜欢

转载自blog.csdn.net/qq_42794826/article/details/103849072