今天做nginx转发tomcat,遇到了这个问题:
nginx无法转发到tomcat,跟路径始终是ROOT郁闷啊,
你要是直接找解决方法的,方法是
修改appBase路径为绝对路径,不使用相对路径
<Host name="a" appBase="/usr/apache-tomcat-7.0.50-wxser/webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="wxserver" debug="true" reloadable="true" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="wxser_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
按照上面的方式该就行了。为了迅速下面的东西可以略过
说下具体情况:
第一个遇到但是是502网关错误,这个和明显不是tomcat修改更路径的问题 ,后来发现是nginx配置文件里有个错误配置,换机器继续
第二个配置好nginx和tomcat的的根目录以及域名解析,访问通过,可以出现的是tomcat管理页面,这个很是头疼。为什么这么说,应为我是完全按照之前配置通过的步骤和方法配置的。
基本上处理IP,端口,项目名称,之外完全一样
噢 对了,tomcat小版本不一样,之前成功的是7.0.50 现在的是7.0.55,这到底是什么原因 ??
然后各种百度,google,最终几乎所有的链接都显示一个内容
1.修改host里面的appBase,
2.然后在host结束标签之前添加context标签
3.修改上面添加的context里面的docBase
对这个流程没错,我也是按照这个流程走的,这是为什么呢 ?
我的配置 如下:
<Host name="a" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="wxserver" debug="true" reloadable="true" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="wxser_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
细心的话你可以看到我的appBase是相对路径,而想下面两个连接中的都是绝对路径
http://yuhongchun.blog.51cto.com/1604432/544659
http://xinying.blog.51cto.com/441770/367863
在tomcat自带的文档里有这么一段说明
appBase |
The Application Base directory for this virtual host. This is the pathname of a directory that may contain web applications to be deployed on this virtual host. You may specify an absolute pathname, or a pathname that is relative to the |
你可以用绝对路径也可以用一个相对路径,相对于CATALINA_BASE的路径,
这么说其实我配置的webapps应该是对的,并且我之前也是这么配置的,但是为什么就不行呢 ,好纠结啊。
试了一下绝对路径,成功了,不知道原因,
我系统里面有多个tomcat,不知道是不是这个原因,
有高手知道的,指点一下
昨天更新了下项目,发现有有问题了,
最后把docBase也改成绝对路径才得以解决
相关推荐
通过以上步骤,你应该成功地将Eclipse项目部署到了Tomcat的根目录,实现了简洁的URL访问。这不仅方便了用户,也提高了项目的可维护性和专业性。记住,良好的部署实践是任何Web应用成功的关键组成部分。
- `webapps`目录是Web应用的根目录,部署的应用会被放在其中。 - `temp`目录用于存放运行时产生的临时文件。 6. **源码与工具** - 标签中的“源码”可能指的是Java项目的源代码,开发者可以查看和修改这些代码来...
3. **配置环境变量**:设置CATALINA_HOME环境变量指向Tomcat的根目录。 4. **启动Tomcat**:打开命令行工具,进入到Tomcat的bin目录下,运行`startup.bat`(Windows)或`startup.sh`(Linux/MacOS)来启动服务。 ##...
这就引出了一个问题:如何让Tomcat服务器能够正确地读取这些位于非项目目录下的本地文件? #### 二、实现原理 要解决这个问题,可以通过修改Tomcat的配置文件`server.xml`来实现对非Web应用目录下文件的访问。具体...
本文将详细介绍如何修改Tomcat项目的图标,并提供两种方法:一种是在Tomcat根目录中直接替换图标,另一种是在项目中通过HTML链接引用自定义图标。 #### 二、基础知识 **1. favicon.ico** - **定义**:`favicon....
虚拟目录在Tomcat中的主要作用是允许管理员在单一的服务器上部署多个不同的Web应用,每个应用可以拥有独立的文档根目录。通过设置虚拟目录,可以避免不同应用间的资源冲突,同时简化了应用的管理和维护。 ### 二、...
- **环境变量**:确保系统环境变量`JAVA_HOME`指向有效的JDK安装路径,`CATALINA_HOME`指向Tomcat的根目录。 - **端口号**:Tomcat默认使用8080端口,如果已有其他服务占用,需在`server.xml`中修改`Connector`标签...
(2) **配置 JRebel**: 在你的项目根目录下创建一个 `rebel.xml` 文件,这是 JRebel 配置的核心,用于指定需要热部署的资源路径。例如: ```xml ``` 请注意替换 `/path/to/your/project` 为...
1. 修改`web.xml`文件:在项目的WEB-INF目录下找到web.xml,将`<welcome-file-list>`标签中的默认首页设置为根目录,例如`<welcome-file>index.jsp</welcome-file>`。 2. 配置服务器:在Tomcat的conf/server.xml文件...
- `docBase`属性需要替换为你的Web项目根目录的实际路径。 - `reloadable`属性设置为`true`可以让Tomcat监控Web应用目录中的文件,如果发现有更改则自动重新加载。 - `debug`属性设置为`0`通常意味着关闭调试信息的...
在实际项目开发中,为了利用Apache的高性能处理静态资源和Tomcat的强大Java支持,我们通常会将两者进行整合。本文将详细介绍如何进行Apache与Tomcat的整合配置,以实现网站目录的搭建。 首先,我们需要了解Apache和...
- `docBase`属性指定了项目的根目录为`E:\Item\project\WebRoot`。 - `debug`属性用于设置调试级别,默认为`0`。 - `privileged`属性决定了该上下文是否具有特殊权限,默认值为`true`。 3. **重启Tomcat服务器**...
- `@webapp.root.key@` 替换:这个占位符需要被替换为 `${webapp.root.key}`,这是一个 Spring EL 表达式,用于动态获取 Web 应用的根目录。 - `context-param`:根据需要调整 `contextConfigLocation` 的值,加入...
这里的`appBase`属性指定了新的Web应用程序的根目录,可以是`webapps_second`,以便与默认的`webapps`目录分开。 4. 最后,为每个项目创建单独的`<Context>`: ```xml ``` `path`属性是访问项目时的URL路径,`...
首先,需要明确应用的根目录位置,这里以`D:\Test`为例作为Web应用程序的实际存放位置。这意味着所有的静态资源(如HTML、CSS、JavaScript等)以及动态资源(如Servlets、JSP页面等)都将存储在这个目录下。 ##### ...
- 设置`JAVA_HOME`环境变量,指向JDK的安装根目录。例如:`C:\Program Files\Java\jdk1.8.0_201` - 这一步非常重要,如果没有正确配置`JAVA_HOME`,启动Tomcat时可能会遇到问题。 3. **启动Tomcat服务器**: - ...
【TOMCAT配置虚拟目录】知识...理解并掌握Tomcat的虚拟目录配置对于管理和部署多个Web应用至关重要,它提高了服务器资源的利用率,也便于管理不同项目。同时,合理配置虚拟目录可以避免应用间的冲突,提升系统灵活性。
- 在Spring Boot项目的根目录下,依次执行以下Maven命令进行部署: ``` mvn clean mvn package -Dmaven.test.skip=true mvn tomcat7:redeploy ``` - 其中,`clean`用于清理项目;`package -Dmaven.test.skip=...
除了直接修改`server.xml`外,Tomcat6.0还提供了另一种更为灵活的虚拟目录配置方式,即在`conf/catalina/localhost`目录下创建XML文件来定义`<Context>`。这种方法避免了直接修改主配置文件,使得虚拟目录的配置更加...
配置环境变量`CATALINA_HOME`指向Tomcat的根目录。 2. **配置Tomcat**:修改`conf/server.xml`文件,设置端口号(默认8080),以及其它服务器配置,如连接器、Context等。 3. **准备Web应用**:Web项目通常包含`...