折腾服务器这一块也有一段时间了!初级菜鸟碰了不少钉子!记得前不久在一个tomcat上部署多个项目最简单的方法
时在%CATALINA_HOME%\webapps 下直接放jar包或者是工程目录,然后重启tomcat工作工程目录来访问到该工
程,理论上是这样的当时这样经常会出问题,除非你在开发前给开发人员说明否则一般的开发人员在路路径上总是直
接去绝对路径的!所以导致工程的某些资源不能加载,(路径不对嘛),第二总部署方法差不多,就是在server.xml
文件的<Host>里添加一个节点<Context />其实道理是一样的!都会在路径上添加了额外的虚似路径,使某些资源不能
加载如来!当时如果直接把文件名给出ROOT的部署一个多项目是没问题的,但是多项目如何实现呢?一个目录不可
能有相同的文件夹名的吧?
今天给大家来个一个tomcat多个实例的教程!可以想象成一个多个tomcat线程公用一个tomcat进程!那么既然运行
的是一个tomcat线程那么tomcat的版本当然是一样!好了!给大家讲讲的是在windows=环境下的迟点再给大家讲讲
在Linux环境下的配置!
一般在使用tomcat时,服务器会从conf及webapps目录下读取有关的配置信息,同时将文件信息写入work,logs以及
tmp目录中,还有一些依赖库文件需要从服务器的公共目录树中进行加载!因此需要你一个tomcat的实例中都包含自己
的目录集,他们各自也是个独立的单元所以不能共享不同的配置,至于一些依赖库可以到公共目录下读取!
tomcat的根目录 CATALINA_HOME = D:\tomcat7
在D:\tomcat-instance 建立两个目录分别为 tomcat1 , tomcat2接着把%CATALINA_HOME% 下的 conf,webapps, work, logs,temp目录分别拷贝到 tomcat1,和tomcat2下
到这里已经完成一半了,接下来重点是就是配置server.xml文件,分别配置tomcat1和tomcat2目录下的conf目录下的server.xml文件把里边的三个端口给出你需要的端口,( HTTP , AJP13, SHUTDOWN),
startup.bat
rem startup.bat set CATALINA_BASE=D:\tomcat-instance\tomcat1 for %%x in ("%CATALINA_BASE%") do set CATALINA_BASE=%%~sx set CATALINA_HOME=D:\tomcat7 for %%x in ("%CATALINA_HOME%") do set CATALINA_HOME=%%~sx call %CATALINA_HOME%\bin\startup.bat
@echo off set CATALINA_BASE=%cd% JAVA_OPTS=-server -Xms64m -Xmx512m -XX:MaxNewSize=64m -XX:PermSize=32M -XX:MaxPermSize=128m -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Address=true call "%CATALINA_HOME%\bin\startup.bat"
shutdown.bat rem shutdown.bat set CATALINA_BASE=D:\tomcat-instance\tomcat1 for %%x in ("%CATALINA_BASE%") do set CATALINA_BASE=%%~sx set CATALINA_HOME=D:\tomcat7 for %%x in ("%CATALINA_HOME%") do set CATALINA_HOME=%%~sx call %CATALINA_HOME%\bin\shutdown.bat
@echo off set CATALINA_BASE=%cd% call "%CATALINA_HOME%\bin\shutdown.bat"