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、关闭防火墙和selinux
Nginx 配置

[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