我可以从同一物理位置(CATALINA_HOME)作为Windows服务执行多个Tomcat服务器实例吗? 换句话说,我可以执行Tomcat的Windows服务引用特定的server.xml(不是默认位置)吗? 我知道这个选项可用于从bat文件执行Tomcat。
是的,你可以做到这一点。
如果您使用Windows,则可以使用官方文档: http : //tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html
我会build议下载与您的Windows分配相关的service.bat文件。 这个答案涵盖了如何做到这一点: https : //stackoverflow.com/questions/15798813/tomcat-7-service-bat-file-is-missing
如果您没有service.bat文件,则需要在bin文件夹中使用Tomcat7.exe的命令行参数。 例如,查看“安装服务”和“更新服务”,了解如何通过命令行运行可执行文件,并按照自己的喜好configuration服务。
最重要的是,你需要一个实例文件夹(你将使用你的CATALINA_HOMEvariables来设置你的实例)。 在里面,你应该有一个conf文件夹与一个web.xml和一个server.xml)。 像Peterbuild议的那样,将连接器(8080,8005,8009和8443)中指定的四个端口更改为别的东西,以免与第一次安装冲突。
最好的办法是使用CATALINA_BASEvariables,你不想混乱和复制每个实例的二进制文件。 只需安装基本安装,然后使用您的独特实例创build一个服务器文件夹,其中包含您所需的每个实例的conf / lib / bin / logs / temp文件夹。
每个实例都需要自己的端口,所以如果使用shutdown / http / ajp / JMX端口,请记住抵消这些端口。
回顾https://stackoverflow.com/questions/3090398/tomcat-catalina-base-and-catalina-home-variables
你可以查看vFabric tc服务器文档,这个文档里有很好的例子。
如果你想运行多个实例,你需要在每个不同的configuration上使用不同的端口。