精华内容
下载资源
问答
  • Tomcat 部署多个web项目

    千次阅读 2017-06-22 16:31:58
    在一个tomcat中部署多个web项目,一般只需要简单的將web程序放到tomcat安装目录/webapps中即可,但部署springboot项目,却另有操作。

    环境

    Centos 7
    Tomcat-8
    Web项目1:java web 入门学习项目
    Web项目2:spring boot /maven 构建


    提纲

    在一个tomcat中部署多个web项目,一般只需要简单的將web程序放到tomcat安装目录/webapps中即可,但是我安装的时候遇见了一些问题,在此记录便于以后查询,若有问题欢迎道友指正,不胜感激^.^


    tomcat配置,三种方法

    Tomcat安装略过

    1. 基础做法

    直接將项目放到webapps中即可,重启tomcat浏览器访问即可;

    特别说明:在安装tomcat的时候,没有更改这个默认的存放项目的位置。Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。
    修改默认的项目存放位置:修改tomcat安装目录/conf/server.xml

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

    host节点中appBase更改为自己存放项目的目录即可,unpackWARs表明是否在启动时是否自动解压war包

    2. 升级做法

    tomcat安装目录/conf/server.xml指定项目位置。

    在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下

    <Context path="/web1" docBase="D:\我存放第一个web项目的目录" debug="0" privileged="true"></Context>
    <Context path="/web2" reloadable="true" docBase="D:\我存放第二个web项目的目录"/>
    

    Path是浏览器访问时输入的request路径,我写得和项目.war包名相同;docBase 是存放应用程序的物理路径

    3.推荐做法

    不用修改conf/server.xml文件,直接在tomcat安装目录/conf/Catalina/localhost目录下创建配置文件,文件名和request路径名相同,和war包名相同,后缀为.xml,如web1.xml,web2.xml
    然后在web1.xml文件中写的类容为:

    <Context path="/hello" docBase="D:\程序web1的目录" debug="0" privileged="true"></Context>
    

    Path值和文件名相同,即等于request路劲。
    然后web2中的类容一样,只是path和docBase做相应更改即可,如果以后有更多项目,直接增加相应的文件即可。
    服务器端运行的项目名称为path,外部访问的URL则使用XML的文件名。这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效

    网址无法打开,查看日志,显示
    Unable to add the resource at [/WEB-INF/lib/twilio-java-sdk-6.3.0.jar] to the cache because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    的问题,是因为从tomcat8中开始就增加了静态资源缓存的配置 ,是需要设置相应的参数的。
    tomcat的安装目录/conf/context.xml中的Context中添加:

    <Resources  cachingAllowed="true" cacheMaxSize="100000"/>
    

    web程序代码设置

    因为spring-boot默认提供内嵌的tomcat,所以需要在一个tomcat中运行多个web程序的时候,需要將项目打包成war以及取消boot自带的tomcat。

    1.修改程序入口

    将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法

    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(Application.class);
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(Application.class, args);
        }
    }
    

    2.修改pom

    在pom.xml文件中,project下面增加package标签,若原有可能的是jar,所以將jar改成war

    <packaging>war</packaging>
    

    3.取消内嵌的tomcat

    pom.xml文件中,dependencies下面添加

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    

    备注:
    请注意修改防火墙访问端口。以上办法都没有设置项目访问域名以及设置单独的访问端口,均使用相同的IP和端口访问。

    参考

    tomcat服务器部署多项目方法
    tomcat配置文件中属性值的说明
    spring-boot项目在外部tomcat环境下部署遇到的问题

    展开全文
  • tomcat部署多个web项目

    千次阅读 2018-12-25 14:13:37
    同一个tomcat上部署2个web项目时,如果其中至少一个项目带项目名,这种应该没问题的,也可以用同一个端口号.当2个项目都不带项目名访问时,可以采用不同的端口号来解决: tomcat conf目录下,server.xml文件修改:例如下面...

    同一个tomcat上部署2个web项目时,如果其中至少一个项目带项目名,这种应该没问题的,也可以用同一个端口号.当2个项目都不带项目名访问时,可以采用不同的端口号来解决:
    tomcat conf目录下,server.xml文件修改:例如下面是增加Service标签,将项目hello部署到8090端口下.不影响已经部署在8080端口的其他的项目.

    <Service name="Catalina">
    <Connector connectionTimeout="20000" port="8090" protocol="HTTP/1.1" redirectPort="8443"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    <Engine defaultHost="localhost" name="Catalina">
    
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>
    
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
    
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
    
      <Context docBase="hello" path="" reloadable="true" source="org.eclipse.jst.jee.server:hello"/></Host>
    </Engine>
    
    展开全文
  • tomcat 发布多个web项目

    2017-04-12 16:05:45
    tomcat 发布多个web项目 TomcatWebXML . 在tomcat的conf目录修改server.xml配置域名和项目的挂接关系 可以注释掉默认的 使用实际用到的配置路径:  name=http://ntmy.163.com  debug="0"  appBase="D:\\...
    tomcat 发布多个web项目
    
    TomcatWebXML .
    在tomcat的conf目录修改server.xml配置域名和项目的挂接关系

    可以注释掉默认的<host></host>
    使用实际用到的配置路径:
    <Host
               name=http://ntmy.163.com
               debug="0"
               appBase="D:\\Tomcat5.5\\webapps" 
               unpackWARs="true"
               autoDeploy="true"
               xmlValidation="false"
               xmlNamespaceAware="false">


    <Context 
          path="/"
          docBase="D:\\Tomcat5.5\\webapps\\yourproject1" 
          reloadable="true"  
          caseSensitive="false"  
          debug="0">

    </Context>


      </Host>



    <Host
          name="www.165.net"
          debug="0"
          appBase="D:\\Tomcat5.5\\webapps"
          unpackWARs="true"
          autoDeploy="true"
          xmlValidation="false"
          xmlNamespaceAware="false">

    <Context
        path=""
        docBase="D:\\Tomcat5.5\\webapps\\yourproject2" 
        reloadable="true"
        caseSensitive="false"  
        debug="0">
    </Context>

    </Host>

    其中:Host 的name属性为你的域名、appBase指向你的工程文件所在的目录、docBase指向你的工程目录,其他属性可根据自己实际情况及需要配置

    有一点需要说明的是,在公司的内网里输入不了网址,只能输入IP地址去查看,因为路由器绑定的固定IP,就是公司的服务器,所以只能从外网可以正常的访问。
    展开全文
  • idea 一个Tomcat启动多个Web项目

    千次阅读 2018-05-15 15:48:57
    前言当项目大了,项目多了,有的时候需要启动多个Web,Intellij IDEA 其实可以做到这种操作;之前以为多创建一个tomcat实例就行,但是发现在启动的时候报“socket closed”或“Error listenerStart (有可能)”的错误...

    前言

    当项目大了,项目多了,有的时候需要启动多个Web,Intellij IDEA 其实可以做到这种操作;

    之前以为多创建一个tomcat实例就行,但是发现在启动的时候报“socket closed”或“Error listenerStart (有可能)”的错误。

    第一步:更改端口

    改下端口,记得两个端口都要修改下
    第一个应用:http port :8080  \ jmx port:1099
    第二个应用:http port :8081 \ jmx port 1098


    第二步:Deployment 设置中war exploded

    第三步:设置Application context 

    第一个应用:/gateway
    第二个应用:/boss

    tips,因为多个web应用的启动会占用更多内存,所以在设置Vm options 设置下:
    -mx2048m -XX:MaxPermSize=128m


    展开全文
  • 2:一个项目部署多个端口号 (相同的IP 不同的端口号访问) 3:一个项目部署多个域名(不同的域名对应相同的端口号) 部署步骤: 1:安装jdk 配置环境变量 2:安装数据库 3:安装 tomcat (解决一些闪退问题也配置了...
  • 1.首先 加以 host:    unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNamespaceAware="false">   2.我们配的hostname 是ltz(例如) :    在C:\Windows\Sy
  • tomcat 多端口 配置多个web项目

    千次阅读 2015-11-23 11:02:39
    上周由于要布4个项目到一台设备上,我刚开始想着是放到webapps下 后来老大说不能用一个端口,我就想到了启动多个tomcat,我老大可以在一个tomcat中配置多个端口,但是由于时间紧急没时间搞一下(稳中求进) ...
  • 当在同一个Tomcat中部署多个web项目时,同时,这个web项目都是使用的druid连接池,或者有二个及以上的项目使用druid连接池时,启动Tomcat时,会报错: javax.management.InstanceNotFoundException: ...
  • Tomcat多个Web Server配置

    千次阅读 2017-03-26 13:17:51
    试想下,实际项目中,我们只有一台服务器,并且在上面只部署一个Web Server服务(这里是Tomcat),我们将多个Web项目同时部署在这个Web Server中,此时,这些项目运行一切正常。而当我们调整了某个项目时,需要重新...
  • Eclipse用了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今天就来看看。 IntelliJ中创建普通的Java聚合项目相对来说比较容易,不会涉及到web操作,涉及到web的话会有一点点麻烦。我们来一步一步看...
  • tomcat上部署了两个web工程,其中一个可以正常访问,访问第二个时会抛出 Exception in thread "http-apr-8080-exec-8"无法进行访问
  • <Context docBase="F:\test\apache-tomcat-8.0.28\webapps\web1" path="" debug="0" reloadable="true"/> <Service name="web2"> connectionTimeout="20000" /> <Engine name="web2" defaultHost=...
  • 一个tomcat下如何部署多个项目?Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例。windows系统下部署同理。 1不修改端口,部署多个项目清楚tomcat目录结构的应该都知道,项目包是放在webapps目录下的...
  • windows下tomcat 发布多个web项目(多个域名,同一ip)公司有个项目,需要在同一个Tomcat服务器上,部署多个应用,这样,就是一个IP地址对应不同的web项目。在tomcat的conf目录修改server.xml配置域名和项目的挂接...
  • 解决:tomcat6 多个web项目页面出现 多次重定向错误无法访问的问题
  • 该文档讲解了Tomcat 配置多虚拟主机,多域名绑定一个IP下的多个web项目
  • 公司有个项目,需要在同一个Tomcat服务器上,部署多个应用,这样,就是一个IP地址对应不同的web项目。 在tomcat的conf目录修改server.xml配置域名和项目的挂接关系可以注释掉默认 使用实际用到的配置路径: ...
  • 在同一个Tomcat服务器上,部署多个应用,这样,就是一个IP地址对应不同的web项目。  在tomcat的conf目录修改server.xml配置域名和项目的挂接关系可以注释掉默认使用实际用到的配置路径: www.google.cn" debug=...
  • 多个web项目部署在不同的端口,修改tomcat安装目录下的conf/server.xml <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file ...
  • tomcat 部署多个项目

    2019-06-06 09:44:36
    tomcat部署多个项目一个tomcat 部署多个web 项目。打开tomcat 目录conf 的service.xml 配置文件复制service 标签里面的所有内容。第一处修改第二处修改第三处修改service.xml 源码如下 一个tomcat 部署多个web 项目...
  • 同一个Tomcat部署多个项目

    万次阅读 多人点赞 2017-07-18 11:28:30
    同一个Tomcat 同一个端口 部署多个项目第一步:把待发布的多个项目.war文件放入tomcat的webapps文件下下 第二步:修改 $TOMCAT_HOME\conf 下的server.xml文件 在server.xml文件中新增节点,一个节点代表一...
  • Tomcat7部署多个Web项目的方法-有图有真相,不下你后悔。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,288
精华内容 1,315
关键字:

tomcat多个web项目