GVKun编程网logo

在两个tomcat服务器上的两个应用程序之间保持JSP会话活动(tomcat部署两个相同的项目)

14

对于想了解在两个tomcat服务器上的两个应用程序之间保持JSP会话活动的读者,本文将提供新的信息,我们将详细介绍tomcat部署两个相同的项目,并且为您提供关于asp.net–如何确保在同一服务器上

对于想了解在两个tomcat服务器上的两个应用程序之间保持JSP会话活动的读者,本文将提供新的信息,我们将详细介绍tomcat部署两个相同的项目,并且为您提供关于asp.net – 如何确保在同一服务器上托管的应用程序之间不共享会话状态、Linux下如何搭建两个tomcat服务、linux服务器上部署项目,同时运行两个或多个tomcat、Nginx反向代理两个tomcat服务器的有价值信息。

本文目录一览:

在两个tomcat服务器上的两个应用程序之间保持JSP会话活动(tomcat部署两个相同的项目)

在两个tomcat服务器上的两个应用程序之间保持JSP会话活动(tomcat部署两个相同的项目)

嗨,我想在2个tomcat服务器上运行的两个不同应用程序之间保持相同的会话。我在一个服务器上运行一个应用程序,并在登录时为其创建了一个会话。如果单击该应用程序上的链接,它将被重定向到另一台Tomcat服务器上的第二个应用程序。那时,它应保持与第一台服务器相同的会话。之后,如果它返回到第一台服务器中的应用程序,则不应再次请求身份验证。它应该使用相同的会话。

有什么方法可以在JSP中 的2个tomcat服务器之间* 传递 会话ID 或详细信息。 *

谁能帮忙。

答案1

小编典典

我认为您可能需要SSO(单一登录)解决方案。因此,这些是免费提供的一些开源软件:

  1. 打开AM(以前称为Open SSO)
  2. JOSSO(Java开放式单点登录)
  3. CAS(中央身份验证服务)

您还可以按照此处提到的方法,使用Servlet过滤器在这两个Web应用程序中构建一些自定义安全性。

注意:
仅当您不想使用任何SSO解决方案时,才应使用自定义解决方案(虽然很痛苦,但却是一个很好的学习技巧;-)。由于这里给出的原因,我建议不要重新发明)

希望这可以帮助。

asp.net – 如何确保在同一服务器上托管的应用程序之间不共享会话状态

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时设置路径,从而打破这种不必要的会话状态共享?

解决方法

您必须在web.config中为每个Web应用程序使用不同的 cookieName.

The default is “ASP.NET_SessionId”.

您也可以以编程方式设置它.检查this post.

Linux下如何搭建两个tomcat服务

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

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服务器

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服务器的相关知识,请在本站搜索。

本文标签: