您的位置:首页 > 运维架构 > Tomcat

Tomcat instance

2013-10-13 22:54 330 查看
折腾服务器这一块也有一段时间了!初级菜鸟碰了不少钉子!记得前不久在一个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实例!

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 ),

接下来就是编辑启动和关闭脚本! 分别在tomcat1和tomcat2下建立 startup.bat和shutdown.bat 内容分别如下

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"


tomcat2的同理可得。。。。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: