一、一个机器上安装两个tomcat
1、需要一个安装包和一个压缩包的tomcat。可以到http://tomcat.apache.org/
下载。
2、安装包直接点击,安装就好了。使用默认的端口号,下载压缩包,在tomcat目录下面找到conf下面的server.xm文件打开,修改各个端口号,注意端口号冲突。
3、找到lib目录下面的catalina.bat文件将文件中所有的CATALINA_HOME全部修改为CATALINA_HOME2(这个名字可以随便起,只是为了和安装包的tomcat区分,在配置环境变量的时候需要)
4.配置环境变量,计算机-》属性-高级系统设置-》环境变量
变量名为CATALINZ_HOME2,值为tomcat所在路径:D:\Users\Administrator\Documents\apache-tomcat-8.5.32
Tomcat Manager用户配置详解
技术随笔 2013年08月05日 暂无评论
Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Manager也成为了使用非常普遍的功能应用。
在默认情况下,Tomcat Manager是处于禁用状态的。准确地说,Tomcat Manager需要以用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager。
Tomcat Manager的用户配置是在Tomcat安装目录/conf/tomcat-users.xml文件中进行管理的。
Tomcat Manager的用户配置非常简单,下面我们以一个具体的配置为例:
如上所示,我们只需要在tomcat-users节点中配置相应的role(角色/权限)和user(用户)即可。一个user节点表示单个用户,属性username和password分别表示登录的用户名和密码,属性roles表示该用户所具备的权限。
user节点的roles属性值与role节点的rolename属性值相对应,表示当前用户具备该role节点所表示的角色权限。当然,一个用户可以具备多种权限,因此属性roles的值可以是多个rolename,多个rolename之间以英文逗号隔开即可。
稍加思考,我们就应该猜测到,rolename的属性值并不是随意的内容,否则Tomcat怎么能够知道我们随便定义的rolename表示什么样的权限呢。实际上,Tomcat已经为我们定义了4种不同的角色——也就是4个rolename,我们只需要使用Tomcat为我们定义的这几种角色就足够满足我们的工作需要了。
以下是Tomcat Manager 4种角色的大致介绍(下面URL中的*为通配符):
manager-gui
允许访问html接口(即URL路径为/manager/html/*)
manager-script
允许访问纯文本接口(即URL路径为/manager/text/*)
manager-jmx
允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
manager-status
允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
从Tomcat Manager内部配置文件中可以得知,manager-gui、manager-script、manager-jmx均具备manager-status的权限,也就是说,manager-gui、manager-script、manager-jmx三种角色权限无需再额外添加manager-status权限,即可直接访问路径/manager/status/*。
注意:配置好了之后一定要重启服务,否则看不到效果
二、一个tomcat跑多个项目
在项目WEB-INF下打开web.xml,在后面加上
webAppRootKey
app.root
保证每个面目是唯一的标识。
1、在应用的web.xml文件中,配置不同的webAppRootKey,值可以自定义,只要相同tomcat下的各个工程保持不同即可。
2、项目根目录listener,WebAppRootListener要在ApplicationContext的ContextLoaderListener之前,否则ApplicationContext的bean注入根目录值时会发生无法注入异常。
3、如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener 这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能。
4、根据以上修改以及1-3点注意之后,仍然无法访问404的,可能:(1)项目本身有问题。(2)因为是拷贝的项目,很多配置文件或者文件名、目录都是以前的,没有修改完全,特别是配置文件,logs目录等,仔细检查。(3)本人使用的spring-mvc+mybatis,如果你也是,可能是mybatis/mapper下文件为空,还没有映射但是你配置了。(4)以上无法解决,请查看tomcat下的logs文件中的异常信息,或者联系我,我们共同学习讨论。