session是什么
其实session是一个存在服务器上的类似于一个散列表格的文件。里面存有我们需要的信息,在我们需要用的时候可以从里面取出来。
说起session的作用,简单的举个例子:我们在登录某些网站的时候,输入了用户名密码,登录以后再打开新的页面时,自动显示的是已登录的状态,不需要再次重新登录。这里就是session功能的一个小小的体现。
session是一种管理用户状态和信息的机制,与cookies的不同的是,session的数据是保存在服务器端。说的明白点就是session相当于一个虚拟的浏览器,在这个浏览器上处于一种保持登录的状态。
1.Session是一种Web会话中的常用状态之一。
2.Session提供了一种把信息保存在服务器内存中的方式。他能储存任何数据类型,包含自定义对象。
3.每个客户端的Seesion是独立存储的。
4.在整个会话过程中,只要SessionID的cookie不丢失,都会保存Session信息的。
5.Session不能跨进程访问,只能由该会话的用户访问。应为提取Session数据的id标识是以Cookie的方式保存到访问者浏览器的缓存里的。
6.当会话终止,或过期时,服务器就清除Session对象。
7.Session常用于保存登录用户的ID.
8.Session保存的数据是跨页面全局型的。
(一台Nginx,两台tomcat)
1、配置各个机器的主机名2、配置主机名与IP的映射3、关闭防火墙和selinuxNginx 配置[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
upstream tomcat_pool {
server 192.168.200.113:8080 weight=1 max_fails=1 fail_timeout=10s;
server 192.168.200.114:8080 weight=1 max_fails=1 fail_timeout=10s;
}
......
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_pool;
}
Tomcat 配置
建立 session.jsp 的测试页面
[root@node1 ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp
Session ID:<%= session.getId() %><BR>
SessionPort:<%= request.getServerPort() %>
<% out.println("This tomcat server 192.168.200.112");%>
[root@node2 ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp
Session ID:<%= session.getId() %><BR>
SessionPort:<%= request.getServerPort() %>
<% out.println("This tomcat server 192.168.200.113");%>
重启 tomcat 服务
session 绑定
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
upstream tomcat_pool {
ip_hash;
server 192.168.200.112:8080 weight=1 max_fails=1 fail_timeout=10s;
server 192.168.200.113:8080 weight=1 max_fails=1 fail_timeout=10s;
}
[root@nginx ~]# killall -HUP nginx