上篇实现了 LINUX中NGINX反向代理下的TOMCAT集群()
这次我们在上篇的基础上实现session 共享问题
Nginx机器:192.168.1.108
两台tomcat机器分别是:192.168.1.168
192.168.1.178
一:测试session共享问题
在原index.jsp页面添加如下代码
SessionId:<%= session.getId() %>
<% String username =(String)session.getAttribute("username");
if(!"".equals(username)&& username!=null){
out.print("------username is "+session.getAttribute("username"));
} else {
out.print("------start username is null");
session.setAttribute("username", "lxs");
out.print("------now username is "+session.getAttribute("username"));
}
%>
此时,通过nginx 访问时 第一次访问的是 178那台机器
再次刷新时,访问了168那台机器
可以看出,此时 session 是不共享的,在集群下,分别创建了session
二:用redis实现 session 共享
实现 session 共享的方法有很多种,此次用的是把session存在 redis 中实现共享。
1.安装redis (如何安装请看)
redis也是安装在192.168.1.108,跟Nginx安装在同一台机器了
2.把需要的jar包分别拷贝到 两个tomcat 的lib目录下
3. 修改 context.xml 里的内容
分别在tomcat/conf/context.xml里添加如下内容
host="192.168.1.108"
port="6379"
database="0"
maxInactiveInterval="60" />
其中className 是固定的,取得是 jar包里的实现的类
host 是redis 的主机名 port是redis端口 database 是把session存放在redis的第几个库里,maxInactiveInterval表示session存活时间
4.再次测试session共享
经过前三步,已经实现了redis下的session共享问题,再次测试
分别启动redis,nginx,以及tomcat 再次访问http://192.168.1.108:7777/nginxTest/
此时nginx 首先转发到178那台机器,此时,session里的 username是为空的,然后往
username里存放了一个值,然后打印出了值
再次访问http://192.168.1.108:7777/nginxTest/,此时nginx 转到了168那台机器
此时 sessionid 跟178的一样。同时username 也是有值的,直接打印出了 值
这说明了 此时session 是共享的,同时在redis里也存进去了对应session
Atas ialah kandungan terperinci 用redis实现tomcat集群下的session共享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Jawa ...

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Penjelasan terperinci mengenai reka bentuk jadual SKU dan SPU di platform e-dagang Artikel ini akan membincangkan isu reka bentuk pangkalan data SKU dan SPU dalam platform e-dagang, terutamanya bagaimana menangani jualan yang ditentukan pengguna ...

Cara Menetapkan Senarai Konfigurasi Run SpringBoot Projek Dalam Idea Menggunakan Intellij ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver Mac版
Alat pembangunan web visual

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)