对于想了解在两个tomcat服务器上的两个应用程序之间保持JSP会话活动的读者,本文将提供新的信息,我们将详细介绍tomcat部署两个相同的项目,并且为您提供关于asp.net–如何确保在同一服务器上
对于想了解在两个tomcat服务器上的两个应用程序之间保持JSP会话活动的读者,本文将提供新的信息,我们将详细介绍tomcat部署两个相同的项目,并且为您提供关于asp.net – 如何确保在同一服务器上托管的应用程序之间不共享会话状态、Linux下如何搭建两个tomcat服务、linux服务器上部署项目,同时运行两个或多个tomcat、Nginx反向代理两个tomcat服务器的有价值信息。
本文目录一览:- 在两个tomcat服务器上的两个应用程序之间保持JSP会话活动(tomcat部署两个相同的项目)
- asp.net – 如何确保在同一服务器上托管的应用程序之间不共享会话状态
- Linux下如何搭建两个tomcat服务
- linux服务器上部署项目,同时运行两个或多个tomcat
- Nginx反向代理两个tomcat服务器
在两个tomcat服务器上的两个应用程序之间保持JSP会话活动(tomcat部署两个相同的项目)
嗨,我想在2个tomcat服务器上运行的两个不同应用程序之间保持相同的会话。我在一个服务器上运行一个应用程序,并在登录时为其创建了一个会话。如果单击该应用程序上的链接,它将被重定向到另一台Tomcat服务器上的第二个应用程序。那时,它应保持与第一台服务器相同的会话。之后,如果它返回到第一台服务器中的应用程序,则不应再次请求身份验证。它应该使用相同的会话。
有什么方法可以在JSP中 的2个tomcat服务器之间* 传递 会话ID 或详细信息。 *
谁能帮忙。
答案1
小编典典我认为您可能需要SSO(单一登录)解决方案。因此,这些是免费提供的一些开源软件:
- 打开AM(以前称为Open SSO)
- JOSSO(Java开放式单点登录)
- CAS(中央身份验证服务)
您还可以按照此处提到的方法,使用Servlet过滤器在这两个Web应用程序中构建一些自定义安全性。
注意:
仅当您不想使用任何SSO解决方案时,才应使用自定义解决方案(虽然很痛苦,但却是一个很好的学习技巧;-)。由于这里给出的原因,我建议不要重新发明)
希望这可以帮助。
asp.net – 如何确保在同一服务器上托管的应用程序之间不共享会话状态
Sharing session state between 2 ASP.NET applications using SQL Server
和
How to maintain the same session id across multiple web applications in ASP.NET.
我们的应用程序使用状态服务器来存储会话信息,我们经常希望在同一个Web服务器上托管同一应用程序的多个版本.
目前,因为ASP.NET_SessionId cookie不是针对任何路径存储的,所以如果我到http://donkey.com/app1并开始一个新会话,然后在同一个浏览器会话中转到http:// donkey.com/app2,我从app1继承了会话ID(以及会话状态).
有没有办法劝说ASP.Net在存储会话ID cookie时设置路径,从而打破这种不必要的会话状态共享?
解决方法
cookieName
.
The default is “ASP.NET_SessionId”.
您也可以以编程方式设置它.检查this post.
Linux下如何搭建两个tomcat服务
继上次完成linux下mysql的安装,配置,以及授权后,今天接着完成tomcat的搭建,主要是区分端口。
首先下载apache tomcat安装包,地址:https://www.jb51.net/softs/9974.html
1.接下来新建文件夹存放tomcat解压文件
2.将tomcat解压到上述目录下
3.创建链接
4.此时可以启动tomcat服务
5.添加环境变量(另外也可以用添加链接的方式快速启动tomcat)
6.创建另一个文件夹存放第二个tomcat服务器,并将第一个复制过去
7.修改第二个tomcat的配置文件server.xml,分配端口
剩下的工作和配置第一个差不多,最后用浏览器访问时输入不同的端口号就能够访问相应的服务器
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
- 图解Linux下安装Tomcat服务器
- linux服务器下配置多tomcat实现实例
- Linux下Tomcat+Nginx服务器环境安装配置的简明教程
- Linux下重启多个 tomcat 服务的脚本(推荐)
linux服务器上部署项目,同时运行两个或多个tomcat
在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图),
但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知:
一台服务器提供两个端口,有两种方式:
1、一个tomcat,开放两个端口;
2、两个tomcat,各运行一个项目,提供两个端口。
后者性能更好一些。于是,就查询实现linux服务器上同时运行两个或多个tomcat的方式,下面以同时运行两个tomcat为例介绍,具体实现如下:
第一步:搭建JDK环境
首先搭建JDK环境,下载JDK,然后解压,如:tar -zvxf jdk-6u18-ea-bin-b01-linux-i586-20.gz(JDK压缩包)
解压后,配置环境变量。
linux中,环境变量是在 /etc/profile 中修改文件。
如:
#vi /etc/profile
进入文件后,按 ‘ i ’ 键,进入编辑状态;
//在最末尾添加,注意,其中的‘:’是冒号,不是分号。
JAVA_HOME=/usr/local/jdk1.6
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
export JAVA_HOME PATHCLASSPATH TOMCAT_HOME
//添加以上代码后,直接 ctrl + C ,输入:wq (冒号), 回车保存就行了
然后加载刚刚配置的环境变量,命令如下:
# source /etc/profile
验证JDK是否安装成功,在命令行,输入java -version
回车,若打印出JDK版本,则OK!
第二步:下载安装tomcat
下载tomcat到服务器中,并解压到文件夹,如/root/tomcat1.
再复制一份tomcat压缩包,解压到 /root/tomcat2;
这就服务器上就有两个tomcat了,然后我们开始下一步。
第三步:配置tomcat环境变量(重点)
同样是操作/etc/profile 文件。
#vi /etc/profile
然后在文件最后一行,即刚刚添加JDK环境变量的后边添加如下配置:
#tomcat1
export CATALINA_HOME=/root/tomcat1/apache-tomcat-7.0.68
export CATALINA_BASE=/root/tomcat1/apache-tomcat-7.0.68
export TOMCAT_HOME=/root/tomcat1/apache-tomcat-7.0.68
#tomcat2
export CATALINA_HOME2=/root/tomcat2/apache-tomcat-7.0.68
export CATALINA_BASE2=/root/tomcat2/apache-tomcat-7.0.68
export TOMCAT_HOME2=/root/tomcat2/apache-tomcat-7.0.68
(注意:tomcat2中的配置命名)
添加后,ctrl+C, 然后命令行输入 :wq ,保存退出。
加载环境变量,命名行# source /etc/profile
配置成功!
第四步:修改tomcat2中的server.xml文件(重点)
修改 tomcat2/apache-tomcat-7.0.68/conf/server.xml 文件。这个地方是更改端口,共三处,如下:
<Server port="8005" shutdown="SHUTDOWN"> 默认为8005--》修改为8006
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
.........
<Connector port="8080" protocol="HTTP/1.1" 默认为8080--》修改为8081
connectionTimeout="20000"
redirectPort="8443" />
........
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 默认为8009--》修改为8010
第五步:修改tomcat2中的startup.sh 和 shutdown.sh文件(重点)
修改 tomcat2/apache-tomcat-7.0.68/bin 中的 startup.sh 和 shutdown.sh 两个文件,分别在其中添加如下内容:
//为了方便定位位置,加了上下的注释内容
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export JAVA_HOME=/root/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/bin
export CATALINA_HOME=$CATALINA_HOME2
export CATALINA_BASE=$CATALINA_BASE2
# Better OS/400 detection: see Bugzilla 31132
添加完成后,保存退出即可。
最后:检验成果
分别启动两个tomcat中的 /bin/startup.sh ,然后打开浏览器访问测试。http://ip / 端口(server.xml中配置的端口) ,两个端口都可以成功访问即可。
剩下的就是将项目拷贝一份,分别部署到两个tomcat中,启动运行!
如:
Nginx反向代理两个tomcat服务器
第一步,在Linux上安装两个tomcat,修改好端口号后,启动起来。
第二步,配置本地的DNS解析,即修改host文件:
第三步,配置Nginx配置文件
反向代理的配置虚拟主机配置差不多也要配置虚拟主机以拦截请求,但是响应的地址不再是本地的目录,而是引用代理设置中的地址:
具体解释:
先配置转发请求的真正服务地址,即真正响应服务的tomcat的地址和端口,
用 upstream + 自定义tomcat服务器的名称,然后里面是 server + tomcat的ip+端口
即:
然后配置请求拦截的虚拟主机:
其中的 server_name 还是拦截的请求域名,而和原来配置虚拟主机不一样的地方就是 location中,不再配置本地目录作为相应,而是用 proxy_pass 关键字来配置请求转发的服务器名称,具体格式为: proxy_pass http:// + 服务器名称
其中的服务器名称就是我们在 upstream 中配置的 真正要提供服务的tomcat的 我们自定义的名称,即 tomcatserver1
这样,当前台请求 虚拟主机的拦截地址 8080.itheima.com时,虚拟主机就会将请求转发给真正的tomcat服务器 192.168.25.141:8080 来提供服务。
同理,再配置第二对请求的真正服务器 tomcatserver2 及 拦截请求的虚拟主机 server_name 8081.itheima.com
测试:
reload nginx的配置文件,然后访问
这样就实现了反向代理,即从表象上看,我们两个请求都是请求的同一个ip地址同样都是默认的80端口,但是服务器端实际上是用两个不同的tomcat来响应的。
因为我们前面在host中配置的是同一个ip,而且没有配端口(后面的8080和8081后面都是点,即其是域名,非端口),所以看起来像是访问的同一个服务器ip地址和端口。
这种情况下,Nginx实际上只做了请求的转发:请求来时,将请求转发给对应的tomcat,tomcat处理完响应回的数据再由Nginx转发给请求者。
今天关于在两个tomcat服务器上的两个应用程序之间保持JSP会话活动和tomcat部署两个相同的项目的讲解已经结束,谢谢您的阅读,如果想了解更多关于asp.net – 如何确保在同一服务器上托管的应用程序之间不共享会话状态、Linux下如何搭建两个tomcat服务、linux服务器上部署项目,同时运行两个或多个tomcat、Nginx反向代理两个tomcat服务器的相关知识,请在本站搜索。
本文标签: