Tomcat 多项目管理

有时我们会在一个服务下存在多个项目的情况,为了统一管理和服务运行安全考虑,有时候我们需要重新部署一个项目但又不能停掉其它项目,就可以用manager进行管理。

Tomcat manager和Root访问:

输入:http://localhost:8080/ 或 http://localhost:8080/manager 让输入账号和密码。

需要在tomcat-users.xml文件中最少配置角色manager-gui:

    <!-- manager -->
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <!-- root -->
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>

    <user username="admin" password="admin123" 
roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>

添加以上信息即可。

然后重新启动服务。

在这里就可以启动重启停止单个项目,也可以部署其它项目到目前系统中。

如果还是出现  403 Access Denied。则需要将

webapps/manager/META-INF/context.xml的内容注释部分打开,选择允许远端访问的IP设置即可。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Tomcat下项目配置不同端口号

打开server.xml,将原有的<service>***</service>复制在下面再粘贴。修改name="catalina2",修改端口号,及appbase='wtpwebapp',以上名字可随意。

然后在config文件夹下建立catalina2文件夹,同时在tomcat下建立wtpwebapp,将项目copy到此目录下即可。

1. 应用被启动2遍,task任务问题。

tomcat中的server.xml中如果配置了<context 而且应用也在webapp中,则会在启动时被加载2遍,因为tomcat默认会加载webapps中的应用,同时会调用context来查找外部需要调用的应用。因为server在启动时会先调用appbase进行启动项目。

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

然后再加载默认部署外的context docBase下的项目

      <Context docBase="D:workspace-ehrToolsapache-tomcat-8.0.18wtpwebapps***" path="/***" reloadable="true" source="org.eclipse.jst.jee.server:**"/></Host>

如果一个项目部署在webapps下,同时又是通过eclipse中tomcat设置的,就会被重启2次。

原文地址:https://www.cnblogs.com/DennyZhao/p/7559875.html