有时我们会在一个服务下存在多个项目的情况,为了统一管理和服务运行安全考虑,有时候我们需要重新部署一个项目但又不能停掉其它项目,就可以用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-ehr\Tools\apache-tomcat-8.0.18\wtpwebapps\***" path="/***" reloadable="true" source="org.eclipse.jst.jee.server:**"/></Host>
如果一个项目部署在webapps下,同时又是通过eclipse中tomcat设置的,就会被重启2次。