tomcat部署多项目server.xml配置

首先,我们以windows为例,其他系统类似。

第一种情况:多项目使用同一域名,我们以两个项目为例。

为了配置方便, 我们先把这两个项目的war包放到tomcat的webapps目录下。

我们现在看一下配置:

[html] view plain copy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed to the Apache Software Foundation (ASF) under one or more
  4. contributor license agreements.  See the NOTICE file distributed with
  5. this work for additional information regarding copyright ownership.
  6. The ASF licenses this file to You under the Apache License, Version 2.0
  7. (the "License"); you may not use this file except in compliance with
  8. the License.  You may obtain a copy of the License at
  9. http://www.apache.org/licenses/LICENSE-2.0
  10. Unless required by applicable law or agreed to in writing, software
  11. distributed under the License is distributed on an "AS IS" BASIS,
  12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. See the License for the specific language governing permissions and
  14. limitations under the License.
  15. --><!-- Note:  A "Server" is not itself a "Container", so you may not
  16. define subcomponents such as "Valves" at this level.
  17. Documentation at /docs/config/server.html
  18. --><Server port="8005" shutdown="SHUTDOWN">
  19. <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
  20. <!-- Security listener. Documentation at /docs/config/listeners.html
  21. <Listener className="org.apache.caectalina.security.SecurityListener" />
  22. -->
  23. <!--APR library loader. Documentation at /docs/apr.html -->
  24. <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  25. <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  26. <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  27. <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  28. <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
  29. <!-- Global JNDI resources
  30. Documentation at /docs/jndi-resources-howto.html
  31. -->
  32. <GlobalNamingResources>
  33. <!-- Editable user database that can also be used by
  34. UserDatabaseRealm to authenticate users
  35. -->
  36. <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  37. </GlobalNamingResources>
  38. <!-- A "Service" is a collection of one or more "Connectors" that share
  39. a single "Container" Note:  A "Service" is not itself a "Container",
  40. so you may not define subcomponents such as "Valves" at this level.
  41. Documentation at /docs/config/service.html
  42. -->
  43. <Service name="Catalina">
  44. <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
  45. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
  46. <Engine defaultHost="localhost" name="Catalina">
  47. <Realm className="org.apache.catalina.realm.LockOutRealm">
  48. <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
  49. </Realm>
  50. <!-- 访问路径:www.test.com.cn/test-one
  51. www.test.com.cn/test-two
  52. -->
  53. <Host appBase="webapps" autoDeploy="true" name="www.test.com.cn" unpackWARs="true">
  54. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
  55. <Context docBase="D:\tomcat\webapps\test-one" path="/test-one" reloadable="true" source="org.eclipse.jst.jee.server:test-one"/>
  56. <Context docBase="D:\tomcat\webapps\test-two" path="/test-two" reloadable="true" source="org.eclipse.jst.jee.server:test-two"/>
  57. </Host>
  58. </Engine>
  59. </Service>
  60. </Server>

我们再看一下不同项目使用不同域名,以两个项目为例:

[html] view plain copy

  1. <?xml version=‘1.0‘ encoding=‘utf-8‘?>
  2. <Server port="8007" shutdown="SHUTDOWN">
  3. <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  4. <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  5. <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  6. <Listener className="org.apache.catalina.core.JasperListener" />
  7. <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  8. <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  9. <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  10. <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  11. <!-- Global JNDI resources
  12. Documentation at /docs/jndi-resources-howto.html
  13. -->
  14. <GlobalNamingResources>
  15. <!-- Editable user database that can also be used by
  16. UserDatabaseRealm to authenticate users
  17. -->
  18. <Resource name="UserDatabase" auth="Container"
  19. type="org.apache.catalina.UserDatabase"
  20. description="User database that can be updated and saved"
  21. factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
  22. pathname="conf/tomcat-users.xml" />
  23. </GlobalNamingResources>
  24. <!-- A "Service" is a collection of one or more "Connectors" that share
  25. a single "Container" Note:  A "Service" is not itself a "Container",
  26. so you may not define subcomponents such as "Valves" at this level.
  27. Documentation at /docs/config/service.html
  28. -->
  29. <Service name="Catalina">
  30. <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
  31. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  32. <Engine name="Catalina" defaultHost="localhost">
  33. <Realm className="org.apache.catalina.realm.LockOutRealm">
  34. <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
  35. </Realm>
  36. <!-- 访问路径:www.test.com.cn  -->
  37. <Host name="www.test.com.cn"  appBase="webapps" unpackWARs="true" autoDeploy="true">
  38. <Context path="/" docBase="D:\tomcat\webapps\test-three" allowLinking="true" />
  39. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  40. prefix="localhost_access_log." suffix=".txt"
  41. pattern="%h %l %u %t "%r" %s %b" />
  42. </Host>
  43. <!-- 访问路径:www.test2.com.cn  -->
  44. <Host name="www.test2.com.cn"  appBase="webapps" unpackWARs="true" autoDeploy="true">
  45. <Context path="/" docBase="D:\tomcat\webapps\test-four" allowLinking="true" />
  46. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  47. prefix="localhost_access_log." suffix=".txt"
  48. pattern="%h %l %u %t "%r" %s %b" />
  49. </Host>
  50. </Engine>
  51. </Service>
  52. </Server>

我们启动服务器就可以访问了。

时间: 2024-10-14 07:33:27

tomcat部署多项目server.xml配置的相关文章

tomcat中server.xml配置详解

Tomcat Server的结构图如下:该文件描述了如何启动Tomcat Server. <Server port="8005" shutdown="SHUTDOWN"> <Listener /> <GlobaNamingResources></GlobaNamingResources> <Service name="Catalina"> <Executor ...... />

Tomcat下conf下server.xml的文件配置信息

Tomcat下conf下server.xml的文件配置信息,基本上不用做任何修改就可以使用,修改的地方就是host区域的一些配置,此文件设置端口为80. 注意:Tomcat配置文件中(即server.xml文件)不能出现中文,否则服务是无法启动的. [xhtml] view plaincopy <!-- Server中的port监听关闭tomcat的请求,shutdown指定向端口发送的命令串--> <Server port="8005" shutdown="

tomcat 部署web项目

TOMCAT 部署web项目 方法介绍 操作前,先来了解一下Tomcat的目录结构. (适用于Tomcat 6.0,Tomcat7.0)    Tomcat下有7个目录,分别是bin,conf,lib,logs,temp,webapps,work 目录,现在对每一目录做介绍. Tomcat根目录在tomcat中叫<CATALINA_HOME>,      1.<CATALINA_HOME>/bin:        存放各种平台下启动和关闭Tomcat的脚本文件.      2.&l

Intellij IDEA通过tomcat部署web项目的机制

问题 以前使用eclipse调用tomcat运行web项目时,eclipse的方式非常直接了当,就是直接将项目更新到%TOMCAT_HOME%/webapps目录下即可.然而在使用Intellij IDEA时,该目录下看不到任何项目文件,%TOMCAT_HOME%/conf/Catalina/localhost目录下也看不到任何项目配置文件,那么问题来了,web项目到底是如何部署到tomcat上的呢? 思路 通过仔细观察Intellij启动tomcat时的输出日志(MAC OS下),可以发现一些

利用Tomcat部署Web项目报错

1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop } 八月 18, 2014 7:35:40 下午 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Native library 1.1.24 u

eclipse,tomcat部署web项目,以及本地文件访问

1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法. 2.在tomcat安装目录中有一个conf文件夹,打开此文件夹,其中包含配置文件server.xml,打开配置文件,并在<host>和</host>之间插入如下语句. <Context path="/hello" docBase="F:\eclipse3.2\workspace\hello\WebRoot"

【转载】centos7+tomcat部署JavaWeb项目超详细步骤

我们平时访问的网站大多都是发布在云服务器上的,比如阿里云.腾讯云等.对于新手,尤其是没有接触过linux系统的人而言是比较有困难的,而且至今使用云服务器也是有成本的,很多时候我们可以通过虚拟机自己搭建一个测试服务器来运行我们的javaWeb项目.这里我就从头到尾开始详细的介绍一下如何部署javaWeb项目到centos7上. 总体分为三部分:1.java环境.2.tomcat环境.3.JavaWeb项目部署 一.安装java环境 centos7安装java环境比较简单,我是通过virtualBo

Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年3月6日 http://www.cnblogs.com/fanshuyao/ 一.Linux快速部署W

Tomcat源码分析——server.xml文件的加载与解析

前言 作为Java程序员,对于tomcat的server.xml想必都不陌生.本文基于Tomcat7.0的Java源码,对server.xml文件是如何加载和解析进行分析. 加载过程分析 Bootstrap的load方法用于加载tomcat的server.xml,实际是通过反射调用Catalina的load方法,代码如下: /** * Load daemon. */ private void load(String[] arguments) throws Exception { // Call