Nginx的session一致性问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Nginx的session一致性问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2157字,纯文字阅读大概需要4分钟。
内容图文
![Nginx的session一致性问题](/upload/InfoBanner/zyjiaocheng/953/e3afe9898e034817b02f85665332a4dd.jpg)
session共享:
首先我们应该明白,为什么要实现共享,如果你的网站是存放在一个机器上,那么是不存在这个问题的,因为会话数据就在这台机器,但是如果你使用了负载均衡把请求分发到不同的机器呢?这个时候会话id在客户端是没有问题的,但是如果用户的两次请求到了两台不同的机器,而它的session数据可能存在其中一台机器,这个时候就会出现取不到session数据的情况,于是session的共享就成了一个问题
Session一致性解决方案
1、session复制
tomcat 本身带有复制session的功能。
2、共享session
需要专门管理session的软件,
memcached 缓存服务,可以和tomcat整合,帮助tomcat共享管理session。
安装memcached
以下配置可以在nginx所在主机中
1、安装memcached
yum –y install memcached
2、启动memcached
memcached -d -m 128m -p 11211 -l 192.168.56.11 -u root -P /tmp/
-d:后台启动服务
-m:缓存大小
-p:端口
-l:IP
-P:服务器启动后的系统进程ID,存储的文件
-u:服务器启动是以哪个用户名作为管理用户
以下配置在tomcat所在的主机中:
配置session共享如下:
3、拷贝jar到tomcat的lib下
4、配置tomcat,每个tomcat里面的context.xml中加入(在tomcat/conf目录下)
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.56.11:11211"
sticky="false"
lockingMode="auto"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
在nginx中配置集群反向代理:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 0;
#keepalive_timeout 65;
#gzip on;
upstream tom {
server 192.168.56.12:8080;
server 192.168.56.13:8080;
}
server {
listen 80;
server_name www.sxthenhao.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /cat {
proxy_pass http://tom/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
注意:要保持集群的时间一致,否则可能导致session不匹配
内容总结
以上是互联网集市为您收集整理的Nginx的session一致性问题全部内容,希望文章能够帮你解决Nginx的session一致性问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。