`

关于tomcat缺省默认应用配置导致启动两个实例的问题

阅读更多

配置service.xml:
<Host name="localhost"  appBase="D:\tools\java\tomcat\apache-tomcat-7.0.16\webapps\"
            unpackWARs="true" autoDeploy="true">

         <Context path="" docBase="dabichong" debug="0" reloadable="true" />
使用这种方式存在问题.
发现一个应用程序,启动了两个实例.
造成时间程序执行存在问题,日志打印存在问题.
根据网上的一些资料.说这是apache的bug.

解决方式有三点.

方法一: tomcat依然按照localhost:8080/dabichong访问
   nginx反向代理到localhost:8080/dabichong上
   nginx配置如下:
   location  / {
                index   sys.main.d;
                #root    D:/tools/java/tomcat/apache-tomcat-7.0.16/webapps/dabichong/;
                proxy_pass      http://127.0.0.1:8080/; #主要在这里,设置一个代理
                proxy_redirect http://127.0.0.1:8080/ /; ##将代理后的链接,回写成127.0.0.1 这样在浏览器上看到的是127.0.0.1
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }


方法二:将目录从webapps 中移到其他目录,然后配置host下面的Context
       <Context path="" docBase="D:/tools/java/tomcat/apache-tomcat-7.0.22/scm_app/dabichong" debug="0" reloadable="false" useHttpOnly="true">
        </Context>

方法三:直接把应用发布到ROOT应用下
       service.xml 中的<Context path="" docBase="dabichong" debug="0" reloadable="true" /> 缺省应用配置需要去掉.
       nginx中将请求转过来就可以了
       location / {
       root D:/tools/java/tomcat/apache-tomcat-7.0.22/webapps/dabichong/;
       index   sys.index.d;
       proxy_pass  http://127.0.0.1:8080;
    }


我选择的是方法三,方便简单.
另外通过应用启动打印出来的日志,确定是启动一个实例还是两个实例.
ok 问题搞定.
分享到:
评论

相关推荐

    Tomcat 7 Windows中以Service方式启动配置启动参数

    在Windows环境中以Service方式启动Tomcat时,默认的JVM参数设置往往较低,这可能导致在运行大型应用程序时遇到内存不足的问题,例如常见的`java.lang.OutOfMemoryError: PermGen space`错误。为了避免这类问题的发生...

    在一台电脑上同时运行两个tomcat时对端口的修改说明

    在IT领域,尤其是在Web应用服务器的管理与配置中,如何在同一台计算机上同时运行多个Apache Tomcat实例是一项常见且实用的技能。对于那些需要在单个机器上部署多个独立Web应用,或者进行不同版本或环境(如开发、...

    tomcat配置默认访问项目

    tomcat配置默认访问项目,配置后可直接通过ip地址加端口号访问项目

    Tomcat连接池配置.doc

    Tomcat 连接池配置可以分为两个部分:全局连接池和局部连接池。 全局连接池是指整个应用程序的数据库连接池,它可以被所有的 SERVLET 共享。局部连接池是指每个 SERVLET 的独立连接池,它只能被当前 SERVLET 使用。...

    Tomcat启动顺序

    Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、公共库、共享库以及Web应用程序。 【详细知识点】: 1. Bootstrap类: Tomcat的启动始于Bootstrap类,这是Tomcat服务器的主入口点...

    修改tomcat默认主页

    Tomcat服务器默认提供了一个名为`ROOT`的Web应用程序目录。该目录下通常包含一个或多个默认主页文件,如`index.html`、`index.htm`、`index.jsp`等。当用户通过浏览器访问Tomcat服务器的根URL时,如果没有指定具体的...

    linux环境下配置Tomcat自启动

    在Linux环境下配置Tomcat自启动是一项常见的系统管理任务,这对于保持服务器服务的连续性和稳定性至关重要。下面我们将详细探讨如何在Linux系统中设置Apache Tomcat自动启动,并了解与这个过程相关的概念和技术。 ...

    Tomcat配置方法 Tomcat配置方法 Tomcat配置方法

    3. **context.xml**:每个Web应用可以有自己特定的上下文配置,但全局的`context.xml`位于`conf`目录下,用于设置默认的上下文参数。 4. **web.xml**:虽然不是Tomcat特有的,但它是部署描述符,定义了应用的默认...

    Nginx+tomcat配置集群负载均衡实例

    配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...

    修改Tomcat默认访问根目录的方法

    在Web应用开发和部署中,Apache Tomcat是一个广泛使用的开源Servlet容器,它用于提供运行Java代码的环境,使Java代码能够在Web服务器上运行。Tomcat作为Jakarta EE技术的一部分,经常被用来作为独立的Web服务器或与...

    tomcat及其配置文件

    在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,它专注于Servlet和JSP的应用。Tomcat是Apache软件基金会的Jakarta项目的一部分,作为一个轻量级的Web服务器和Servlet容器,它以其小巧、高效、易用而受...

    linux下启动多tomcat

    在Linux环境下启动多个Tomcat服务器是一项常见的需求,尤其是在开发、测试...需要注意的是,虽然本文以两个实例为例进行了说明,但实际上,只要按照相同的方法,你可以配置任意数量的Tomcat实例,满足特定场景的需求。

    一台机器上跑2个不同的tomcat

    本文详细介绍了如何在同一台机器上配置两个独立的Tomcat服务器,并通过设置不同的端口号和JVM路由来避免冲突,最后通过配置Apache负载均衡器来实现对两个Tomcat实例的负载均衡。这种配置不仅适用于开发环境,也适合...

    Tomcat+IIS整合配置文件

    首先,我们来了解下这两个组件。Apache Tomcat是一款开源的Java应用服务器,主要用于部署和运行Java Web应用程序,包括JSP和Servlet。而IIS则是微软提供的一个全面的Web服务器,能处理HTTP、HTTPS等协议,擅长处理...

    Tomcat部署为每个应用分配不同端口

    要实现每个应用分配不同端口,可以利用Tomcat的多实例配置或在Context描述器中指定端口。每个Web应用的Context可以配置不同的`Connector`元素,设定`port`属性来监听特定的端口号。例如: ```xml ``` 这样,`...

    如何在同一系统里同时启动多个Tomcat

    由于Tomcat默认配置会占用特定的端口,因此如果要在同一系统上启动多个Tomcat实例,我们需要对每个实例的配置文件进行适当的修改,以确保它们之间不会发生端口冲突。 首先,我们要了解Tomcat主要使用的四个通讯端口...

    tomcat启动不了问题处理

    如果安装的JRE/JDK版本与Tomcat不兼容,或者系统中存在多个版本的JRE/JDK,可能会导致Tomcat启动失败。 - 解决方案:确保安装了正确的JRE/JDK版本,并检查`CATALINA_HOME/bin/catalina.sh`或`CATALINA_HOME/bin/...

Global site tag (gtag.js) - Google Analytics