SpringBoot学习-Nginx配置及Session共享

首先是Nginx配置:
下载Nginx(这里使用的是windows版本):http://nginx.org/en/download.html
解压到指定目录,在此目录下打开命令行运行界面:

启动命令:start nginx
关闭命令:nginx -s quit

命令运行时都是弹框一闪而过,可以自行去任务管理器中看看进程是否启动
至于运行两个Tomcat修改不同端口号和起始界面区分什么的,这里就不详细叙说了,可以自行百度
接下来是nginx的配置文件设置:

worker_processes  1;#工作进程的个数,一般与计算机的cpu核数一致  

events {  
    worker_connections  1024;#单个进程最大连接数(最大连接数=连接数*进程数)  
}  

http {  
    include       mime.types; #文件扩展名与文件类型映射表  
    default_type  application/octet-stream;#默认文件类型  

    sendfile        on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off

    keepalive_timeout  65; #长连接超时时间,单位是秒  

    gzip  on;#启用Gizp压缩  

    #服务器的集群  
    upstream  netitcast.com {  #服务器集群名字   
        server    127.0.0.1:8088  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
        server    127.0.0.1:8089  weight=2;  
    }     

    #当前的Nginx的配置  
    server {  
        listen       8080;#监听80端口,可以改成其他端口  
        server_name  localhost;##############   当前服务的域名  

    location / {  
            proxy_pass http://netitcast.com;  
            proxy_redirect default;  
        }  


        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  
    }  
}  

核心配置:
这里写图片描述
这样nginx的简单配置基本上可以了
参考:http://blog.csdn.net/wang379275614/article/details/47778201
在完成上面的配置后,在Tomcat中放入我们自己的项目后,会发现一个问题,需要登录验证的项目,会总是返回登录页面,无法正常访问主页,这是因为在配置负载均衡后,项目的Session没有实现共享机制,而项目中的具体Session共享机制,我们这里可以借助于Redis来实现。
首先第一个毫无疑问是引入相关Maven信息:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
</dependency>

毫无疑问,SpringBoot的项目真的为我们提供了很大的便捷开发,之前有写过SpringMVC架构下的Session共享,真的是绕来绕去,可能是和当时技术水平的原因,原来的那片博客自己都懒得看,有时间再去整理一下吧
再SpingBoot项目中,我们只要在启动类上加上注解@EnableRedisHttpSession 就可以了
这里写图片描述
最后就是Redis的部署部分了
先下载Redis文件,这里同样使用的是windows版本:https://github.com/MicrosoftArchive/redis/releases
下载解压后,修改配置文件设置Redis的认证密码信息和端口号(自行百度哈,不截图了)
然后为了以后启动方便一点,可以将Redis启动添加到系统服务中:

#进入Redis根目录下执行
redis-server --service-install redis.windows.conf

然后在项目的配置文件中加入Redis信息:

#redis
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=123456

这样三个部分就基本完成了,最后编译项目,打包,部署,运行,启动nginx:
这里写图片描述
这里写图片描述
可以看到,两次刷新的地址以及获取的SessionId是一样的,但是进入了不同服务器界面。
ps:
有时候会遇到一种情况就是访问的时候会卡顿很长时间,但是确实偶尔才复现,不知道是配置问题,还是nginx本身的问题,后续碰到再继续研究吧

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值