配置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 问题搞定.
分享到:
相关推荐
在Windows环境中以Service方式启动Tomcat时,默认的JVM参数设置往往较低,这可能导致在运行大型应用程序时遇到内存不足的问题,例如常见的`java.lang.OutOfMemoryError: PermGen space`错误。为了避免这类问题的发生...
在IT领域,尤其是在Web应用服务器的管理与配置中,如何在同一台计算机上同时运行多个Apache Tomcat实例是一项常见且实用的技能。对于那些需要在单个机器上部署多个独立Web应用,或者进行不同版本或环境(如开发、...
tomcat配置默认访问项目,配置后可直接通过ip地址加端口号访问项目
Tomcat 连接池配置可以分为两个部分:全局连接池和局部连接池。 全局连接池是指整个应用程序的数据库连接池,它可以被所有的 SERVLET 共享。局部连接池是指每个 SERVLET 的独立连接池,它只能被当前 SERVLET 使用。...
Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、公共库、共享库以及Web应用程序。 【详细知识点】: 1. Bootstrap类: Tomcat的启动始于Bootstrap类,这是Tomcat服务器的主入口点...
Tomcat服务器默认提供了一个名为`ROOT`的Web应用程序目录。该目录下通常包含一个或多个默认主页文件,如`index.html`、`index.htm`、`index.jsp`等。当用户通过浏览器访问Tomcat服务器的根URL时,如果没有指定具体的...
在Linux环境下配置Tomcat自启动是一项常见的系统管理任务,这对于保持服务器服务的连续性和稳定性至关重要。下面我们将详细探讨如何在Linux系统中设置Apache Tomcat自动启动,并了解与这个过程相关的概念和技术。 ...
3. **context.xml**:每个Web应用可以有自己特定的上下文配置,但全局的`context.xml`位于`conf`目录下,用于设置默认的上下文参数。 4. **web.xml**:虽然不是Tomcat特有的,但它是部署描述符,定义了应用的默认...
配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...
在Web应用开发和部署中,Apache Tomcat是一个广泛使用的开源Servlet容器,它用于提供运行Java代码的环境,使Java代码能够在Web服务器上运行。Tomcat作为Jakarta EE技术的一部分,经常被用来作为独立的Web服务器或与...
在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,它专注于Servlet和JSP的应用。Tomcat是Apache软件基金会的Jakarta项目的一部分,作为一个轻量级的Web服务器和Servlet容器,它以其小巧、高效、易用而受...
在Linux环境下启动多个Tomcat服务器是一项常见的需求,尤其是在开发、测试...需要注意的是,虽然本文以两个实例为例进行了说明,但实际上,只要按照相同的方法,你可以配置任意数量的Tomcat实例,满足特定场景的需求。
本文详细介绍了如何在同一台机器上配置两个独立的Tomcat服务器,并通过设置不同的端口号和JVM路由来避免冲突,最后通过配置Apache负载均衡器来实现对两个Tomcat实例的负载均衡。这种配置不仅适用于开发环境,也适合...
首先,我们来了解下这两个组件。Apache Tomcat是一款开源的Java应用服务器,主要用于部署和运行Java Web应用程序,包括JSP和Servlet。而IIS则是微软提供的一个全面的Web服务器,能处理HTTP、HTTPS等协议,擅长处理...
要实现每个应用分配不同端口,可以利用Tomcat的多实例配置或在Context描述器中指定端口。每个Web应用的Context可以配置不同的`Connector`元素,设定`port`属性来监听特定的端口号。例如: ```xml ``` 这样,`...
由于Tomcat默认配置会占用特定的端口,因此如果要在同一系统上启动多个Tomcat实例,我们需要对每个实例的配置文件进行适当的修改,以确保它们之间不会发生端口冲突。 首先,我们要了解Tomcat主要使用的四个通讯端口...
如果安装的JRE/JDK版本与Tomcat不兼容,或者系统中存在多个版本的JRE/JDK,可能会导致Tomcat启动失败。 - 解决方案:确保安装了正确的JRE/JDK版本,并检查`CATALINA_HOME/bin/catalina.sh`或`CATALINA_HOME/bin/...