同一服务器部署多个应用,tomcat服务器部署多项目方法
下面将简单总结一下如何在同一台服务器上部署多个tomcat服务。
我对可用的方法有两种不同的看法:一种是基于单一tomcat运行的情况——一旦启动或关闭服务时,请注意所有项目都会受到影响;另一种情况则是各系统之间相互独立——尽管这样会带来一定的复杂性。大家可以根据具体需求和偏好来决定最适合自己的解决方案。
a. 单一tomcat,web项目部署在一个tomcat下
b. 多tomcat,web项目分别部署在不同tomcat下
一、单一tomcat方案
在Tomcat环境中,默认设置有一个Webapps目录,在该默认应用位置存放着各种应用模块。一旦服务器启动运行,则会自动加载该目录中的所有应用程序。因此可以考虑将程序打包成一个war包存放于该默认应用位置中。解压后,在该默认应用位置下自动生成与之同名的一个文件夹。值得注意的是,在这种情况下生成的一个war包本质上就是具有特定功能格式的标准jar包。它是对整个网页程序的所有内容进行压缩封装形成的。具体操作步骤如下:通常可以通过以下几种开发工具实现:例如Eclipse等还可以直接使用命令行工具执行:jar -cvf mywar.war myweb
webapps这个默认的应用目录同样是可调整的。打开Tomcat的conf目录下的server.xml文件,并在其中找到并编辑appBase参数项即可完成设置。
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
2、在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。
在tomcat中的conf目录中,在server.xml中的,节点中添加:
```xml
说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
二、多tomcat方案
1、下载tomcat.zip版软件,分别解压到两个目录,如tomcat1和tomcat2;
2、tomcat1的server.xml文件的端口设置保持默认不变;
3、按照如下方法修改tomcat2的server.xml文件中3个端口:
8080修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9090;
xml
8005端口修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9005;
xml
8009端口修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9009;
保存server.xml文件并关闭。
4、修改tomcat1中的服务名称以备安装;修改tomcat1中bin目录下的service.bat文件;
set SERVICE_NAME=Tomcat5H
set PR_DISPLAYNAME=Apache Tomcat1
5、修改tomcat1中的服务名称以备安装;修改tomcat2中bin目录下的service.bat文件;
set SERVICE_NAME=Tomcat5S
set PR_DISPLAYNAME=Apache Tomcat2
6、安装tomcat服务;打开命令行,切换到tomcat1的bin目录下,然后执行:service.bat install,系统会提示"The service 'Tomcat5H' has been installed."
然后将当前目录切换到tomcat1的bin目录下,同样执行:service.bat install,系统会提示"The service 'Tomcat5S' has been installed."
7、打开服务窗口,看到服务列表里显示有Apache Tomcat1和Apache Tomcat2两个服务
8、启动Apache Tomcat1和Apache Tomcat2,均可启动成功!
9、打开IE,输入http://localhost:8080 和 http://localhost:9090 ,均可可以看到tomcat首页。
至此两个tomcat服务在同一台服务器上完美运行。
