在tomact中托pipe2个版本的相同的Java网站

我有一个网站设置在一个Unix服务器。

我和另外两名在网站上工作的开发人员一起工作。

要求是从同一个Unix服务器的两个不同目录运行同一个站点的两个或多个版本。这是因为两个开发人员将在同一个文件上使用相同的function,并且具有相同站点的不同版本将会阻止彼此从修改其他开发者文件。

现在我已经将整个网站的webapps内容复制到同一个服务器上的另一个目录中。

我已经安装了tomcat,它指向原来的webapps目录。

现在我需要做什么才能托pipe我已经复制到一个新目录的新网站。

这里有什么可行的select?

我build议在文本编辑器中打开bin/catalina.sh ,并从这一点开始向下读取:

 # ----------------------------------------------------------------------------- # Control Script for the CATALINA Server # # Environment Variable Prerequisites # # Do not set the variables in this script. Instead put them into a script # setenv.sh in CATALINA_BASE/bin to keep your customizations separate. 

bin/setenv.sh默认情况下不存在,但它是一个真正的gem:你放在这样一个文件中的任何variables或scriptlet都是由bin/catalina.sh来源的,而bin/catalina.sh又会在bin/startup.shbin/shutdown.sh被调用。

  • 继续从这一点向下读,并注意各种variables和他们做什么。 其中一些可能已经熟悉了,比如JAVA_HOME 。 其他的可能不像CATALINA_OPTS ,在可能的情况下应该优先于JAVA_OPTS
  • 仔细检查bin/startup.shbin/shutdown.sh ,查找定制: bin/catalina.sh文档中解释的variables都不应该定义。 不知道bin/setenv.shpipe理员和开发人员倾向于直接修改启动脚本和closures脚本,这是不好的做法。 将这些定制移动到bin/setenv.sh以便更好地跟踪两个Tomcat容器之间的差异。
  • 使用JAVA_HOME指定不同安装Java的path。 Tomcat将执行$JAVA_HOME/bin/java ,而不是正好在PATHvariables中的java版本。 (除非存在JRE_HOME ,否则我指示您阅读的文档解释了区别)如果每个Tomcat都需要使用不同版本的Java,那么它们应该具有不同的JAVA_HOMEpath。 如果他们应该使用相同版本的Java,那么这两个variables应该是相同的。
  • 调整conf/server.xml并更改Tomcat正在侦听的端口。 所有不在注释块( <!-- --> )内的单词port实例必须进行调整,否则会出现端口冲突。
  • 如果您要求这两个Tomcat必须位于单个端口后面,您需要在它们前面使用负载均衡器,或者使用代理stream量的Web服务器。 networking服务器可以在同一台机器上运行,在这种情况下,您可以代理到本地主机( 127.0.0.1 )。 根据请求的URI,让负载均衡器或Web服务器将stream量路由到适当的Tomcat。