手机访问          
logo
tomcat在window系统注册成服务并创建多个实例
更新时间:2019-04-09 15:04:40    529次阅读 评论 0

 

一、下载tomca、解压tomcat

  

 这里以tomcat7为例

假如我们的tomcat的安装目录为

Tomcat7-home/

 

然后,有三个tomcat实例要安装启动,实例名分别为 serviceAserviceBserviceB

 

实例目录分别为

Tomcat-instance/A/ Tomcat-instance/A/ Tomcat-instance/A/

 

二、对实例目录作下处理

    

 我们将tomcat安装目录下的 conflogstempwebappswork 文件夹分别复制到三个实例目录下

     

     然后,在每个实例目录下都创建个 名字为 war的文件夹

 

     然后,对实例目录文件下的 conf/server.xml 配置好端口,确保每个实例间端口不冲突

 

     然后,在这个节点做下处理(以 serviceA为例,其war包为 serviceA.1.0.war

<Engine name="Catalina" defaultHost="localhost">
 
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
 
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
 
        
        <!--
        docBase 可以是绝对目录也可以是相对目录
        -->
       <Context crossContext="true" docBase="Tomcat-instance\A\war\serviceA.1.0.war" path="/serviceA" reloadable="true"/>
        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
 
      </Host>
    </Engine>


假设上述配置无误,并能安装启动服务的话,那么Tomcat-instance/A/war/serviceA.1.0.war 会被解压到 Tomcat-instance/A/webapps/serviceA/ 目录下

 

以此类推,配置其它实例

 

三、对安装目录进行处理

 

进入到安装目录下 bin文件夹,找到tomcat7w.exe,然后,复制成三份将其命名为serviceAw.exeserviceBw.exeserviceCw.exe

 

上述的命名发现规律了没?

 

规律:实例名(服务名)+w.exe

 

 

然后,使用dos命令界面,进入到当前目录,执行命令 service install 实例名,例如 service install serviceA

 

然后,在window服务里边 出现了名为 serviceA 的服务,这时不要启动服务

 

点击打开serviceAw.exe 文件 ,打开的界面可以设置jvm参数(前提是将服务注册到window服务,不然是不能在这个界面设置jvm参数)

界面详情如下图

1554778192636012453.png

我们找到并打开Java 的选项卡,然后设置 Java Options里边的内容,这里边是配置jvm的参数

 

我们着重看下两个变量

catalina.home 安装目录 指向共用资源的地方(binlib

catalina.base 实例目录也称工作目录 每个工作实例都是独立的(logsconfwebappstempwork

 

catalina.home 这个变量就不用处理了,默认是安装目录,我们处理下catalina.base这个变量,将其的变量值设置为tomcat-instance\A\

 

然后检查下 实例对应内存的要求高吗

如果高的话要做下相应的调整

Inittail memory pool 初始内存池大小

Maximum memory pool 最大的内存池大小

Thread stack size 线程栈大小

 

配置好这些参数后,点击确定

四、启动服务

 

检查下实例目录下的war是否存放serviceA.1.0.war包进去,如果没有放进去,将war包放进去后,启动服务

 

其它实例以此类推

 

启动的过程中如果,启动失败,首先检查下 实例目录下的 logs文件夹里边的 catalina.log 的日志内容,看起有什么错误,如果没有什么错误,那么,检查下 localhost.log 文件看下是否存在错误

 

如果中途想修改jvm参数,那么,打开各自实例名+w.exe 文件,在其打开界面配置好参数值后,重启下服务就行,无需卸载服务



分享按钮 分类:java
  

create:2019-04-09    阅读量(529) 评论( 0 )

返回顶部
登录评论
  ABOUT ME
头像
昵称零零一
博龄 { 58.3月 }
积分610
博主被推荐的文章
相关博文
推荐博文
    为什么?
    sqlserver 日期时间转字符串
    疾病及编码介绍十六、先天性畸形、变形和染
    spring cache 缓存 guav
    background 背景图片 在Saf
    Android Genymotion模拟
    疾病及编码介绍十一、内分泌、营养和代谢疾
    记忆犹新
    你的想法都写在脸上--头部篇--微动作心
    jvm探索
标签云
反馈 联系©2015-2016 2016 ©zhoubo15.cn 粤ICP备15029033号-1