为什么突然写这个呢,前两天面试了,被面试官给问住了,回来一查。。。。。怎么这么简单,当时我就。。。。你懂得。

我用的是Tomcat7,用Eclipse新建了两个简单的web项目,贴出web1的截图,web2的是一样的,就是index.html中的Web1换为Web2了。

  下面咱们实现这么一个需求,web1这个项目咱们用Tomcat默认的 8080 端口进行访问,web2这个项目咱们用自定义的 8989 端口进行访问。

想要进行端口的设置等,就需要修改 Tomcat 的 conf 目录下的 server.xml 文件, 只需要新加一个 Service标签即可,当然其中也需要修改一点东西,

下面是我的Service标签的第一个

  <Service name="Catalina1">

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <!-- Define an AJP 1.3 Connector on port 8009
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    -->

    <Engine name="Catalina1" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps1" unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>

  为什么把 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 这个给注释了呢,因为咱们这里不要求,为什么呢,这个端口是用于进行Tomcat服务器与其它HTTP服务器进行集成时,需要这个连接器。

  这里需要修改5个地方:

  1. Service 标签 的 name 属性

  2. 端口号( Connector 标签的 port 属性)

  3. Engine 标签的 name 属性

  4. Host 标签的 appBase 属性

  5. 注释掉 port为8009的Connector

然后复制一份Service标签及标签体,写第二个Service标签, 贴出来我的

<Service name="Catalina2">

    <Connector port="8989" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <!-- Define an AJP 1.3 Connector on port 8009
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  -->

    <Engine name="Catalina2" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps2" unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>

  把Tomcat目录下的 webapps 改为 webapps1,然后把 web1.war 放入这个目录下, 新建 webapps2,把web2.war放入该目录下。

   

  这样就可以了.  启动Tomcat服务器

  在地址栏输入 localhost:8080/web1访问web1项目,

  输入localhost:8989/web2访问第二个项目。

一个Tomcat多端口多项目部署的更多相关文章

  1. tomcat目录结构以及项目部署

    摘要:tomcat的目录结构 tomcat是一个轻量级的免费开源的web服务器,使用非常方便,也是最普遍的一款优秀服务器. 一.tomcat目录结构 1.官方下载  http://tomcat.apa ...

  2. 配置JDK、tomcat及Java Web项目部署

    一.JDK的安装 (1)下载安装JDK: 这个就不用说了,直接官网下载jdk安装即可.http://www.oracle.com/technetwork/java/javaee/downloads/i ...

  3. Linux下tomcat的安装与项目部署

    最近在linux下安装了jdk,为了圆我以前的心愿,把tomcat也安装了,顺便部署个项目,也算是小又成就感 废话不说了,直接上过程 一.下载安装对应的jdk,并配置Java环境. 有关jdk的安装请 ...

  4. 详细的图文教程来实现 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上

    很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过程. 第一部分:eclipse环境下如何配 ...

  5. Linux入门——安装jdk、tomcat、MySQL以及项目部署

    Linux简介     Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务. 支持多线程和多CPU的操作系统.伴随着互联网的发展,     Linu ...

  6. Eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上

    打开Eclipse,单击“Window”菜单,选择下方的“Preferences”. 单击“Server”选项,选择下方的“Runtime Environments”.  点击“Add”添加Tomca ...

  7. Eclipse环境下配置Tomcat,并且把项目部署到Tomcat服务器上

    一 配置Tomcat 1.打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 2.单击"Server"选项 ...

  8. tomcat 去除端口和项目名/使用域名访问/修改超链接为IP地址

    1.打开tomcat/conf/server.xml 在host标签中加入 <Context  docBase="项目名" path="" reloada ...

  9. Tomcat 一端口多项目,多端口多项目 server.xml

    ​ ​ 8080端口下项目的webURL为 http://localhost:8080/HelloWorld_spring/HelloController/helloWorld ​ 8081端口下项目 ...

随机推荐

  1. j技术方案

    采用.net4.0作为基础技术平台,原来是采用.net4.5的,但是后来发现.net4.5不支持Windows Server2003,所以又降为.net4.0. 1.asp.net mvc 4.0 用 ...

  2. 【学】jQuery的源码思路6——增加each,animaion,ajax以及插件机制

    each() 插件机制 animation ajax //each() //这里第一个参数指定将this指向每次循环到的那个元素身上,而第三个参数element其实就是this本身所以和第一个参数是一 ...

  3. include 问题

    http://blog.sina.com.cn/s/blog_573a052b0100kq1w.html

  4. jquery分页插件

    css代码: /*分页*/ .pageList { clear: both; overflow: hidden; } .pageList a, .pageList span { border: 1px ...

  5. 超链接实现post方式提交

    思路:如果想要超链接实现post方式提交,必须借助表单.下面得两种方式,一种是借助显示的form表单,一种是借助隐式的form表单方式一:将超链接放到一个form表单中,或者超链接本身就在一个form ...

  6. Zip文件压缩(加密||非加密||压缩指定目录||压缩目录下的单个文件||根据路径压缩||根据流压缩)

    1.写入Excel,并加密压缩.不保存文件 String dcxh = String.format("%03d", keyValue); String folderFileName ...

  7. 简单设置eworkflow条件的方式

    在eworkflow自定义工作流产品中,设置条件节点,是在节点的后续连线上设置的.每一个处理节点(除结束节点外)都至少有一条连线连接到下一个节点,当有多条连线连接到其他节点的时候,就需要在多出的连线上 ...

  8. <-0基础学python.第一课->

    初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...

  9. Redis 配置文件详解

    # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写)## 1k => 1000 bytes# 1kb => ...

  10. ios 设置声音和震动,单独控制

    一.今天项目中涉及了设置这快的声音震动和响铃,搞的头大,以前搞过,只是简单的调用系统的方法就可以实现,但是现在的公司要求,震动是震动,响铃是响铃,我看了微信,微信也是的分开的,做的很好,但是我就纳闷了 ...