Tomcat自定义部署

简介: 首先,需要把apache=tomcat安装目录里面的bin/conf/logs/webapps/work/都拷贝到自定义WEB应用目录下,比如 /home/app/test.aliyun.com/,这个目录以后就是部署该项目的操作目录,下面用yourdomain来代替。

首先,需要把apache=tomcat安装目录里面的

bin/
conf/
logs/
webapps/
work/

都拷贝到自定义WEB应用目录下,比如 /home/app/test.aliyun.com/,这个目录以后就是部署该项目的操作目录,下面用yourdomain来代替。

文件夹部署方式(非war包)

方式一 默认配置,直接扔包:

在webapps下面建立ROOT目录,此ROOT目录为tomcat默认根网站的目录,ROOT名称区分大小写,必须为大写

将应用程序的war包解压后放到ROOT目录下,此时webapps底下的目录应该为这种形式

yourdomain/webapps/ROOT/* (*代表WEB-INF等)

不需要修改yourdomain/conf/server.xml文件。

然后在yourdomain/bin/目录下创建start和stop的shell文件

文件内容如下:

start.sh 

export CATALINA_BASE=/home/user/app/test.aliyun.com/ 
export CATALINA_HOME=/home/app/apache-tomcat-7.0.62/
export JAVA_OPTS="$JAVA_OPTS -Xloggc:/home/appuser/app/test.aliyun.com/logs/temp_gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/user/app/test.aliyun.com/logs/“ 
cd $CATALINA_HOME/bin ./startup.sh jpda 
tail -fn 500 /home/user/app/testjx.aliyun.com/logs/catalina.out

stop.sh

ps -ef | grep test.aliyun.com | grep -v 'grep' | awk '{print $2}' |xargs kill -9

这两个文件在以下流程中通用。

然后启动就可以


方式二 修改webapps下文件路径:

在 yourdomain/webapps/下创建文件夹,比如 yourdomain/webapps/yourAppName ,

然后把ROOT目录删除,将web应用的内容拷贝到yourAppName目录下,此时webapps目录应该为这种形式

yourdomain/webapps/yourAppName/* (*代表WEB-INF等)

由于此时默认的ROOT目录没有了,但因为webapps下面有文件夹,所以会把yourAppName里面的内容当做一个web应用加载并启动起来,

虽然web应用启动了,但是访问的时候会出现404错误,这是因为访问的时候tomcat默认去ROOT下面寻找资源,而ROOT已删除,则资源肯定是查找不到的

此时我们需要配置

conf/server.xml

在<Host name=“localhost”  一栏下面加上

<Context path="/" docBase="/home/appuser/app/testjx.aliyun.com/webapps/yourAppName" debug="0" reloadbale="true" privileged="true"> </Context>

将根路径从原来默认的ROOT指向我们自定义的yourAppName文件夹

此时执行 bin/stop.sh   bin/start.sh就可以启动了,启动完毕即可正常访问,如果需要添加多个应用,则指定多个context即可。

如果我们只想把web应用直接放在webapps下面,而不想在webapps下面建立文件夹再放进去怎么办呢?

实际上是可以的,我们来看

方式三 将web应用解压到webapps下面:

现在的文件夹目录如下

yourdomain/webapps/* (*代表WEB-INF等)

如果此时启动tomcat,tomcat会将webapps下的每一个文件夹当做一个上下文进行加载,导致一个web应用被拆分成N个web容器,此时访问极易出异常,

为了避免这种情况,我们需要修改server.xml

将其中的

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true”> 
修改为 

<Host name="localhost"  appBase=“anotherwebapps"  unpackWARs="true" autoDeploy="true”>

此时再启动就可以了,这种方式其实等同于另外一种情况,就是你的web应用可以自己组织放在任何地方,而server.xml里面依然是

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

这种配置不变,需要变的是Context节点的配置

<Context path="/" docBase="/home/user/app/test.aliyun.com/webapps" debug="0" reloadbale="true" privileged="true">
 </Context>

将其中的docBase指向你自定义的web应用目录,就可以实现根据要求自行组织web应用群结构的目的了


War包部署方式:

我们可以直接将war包扔到webapps目录下,此时尚需配置Context节点,将docBase指向war包的名字,不含后缀

 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true”> 
 <Context path="/" docBase=“yourAppName.war" debug="0" reloadbale="true" privileged="true”> 
 </Context>
</Host>

这种配置其实是上面的方式二,只是省了解压这一步骤,tomcat帮你做了。也可以不加Context,只是这样访问的时候url需要加上你的应用名

localhost:port/yourAppName/index.html


目录
相关文章
|
3月前
|
JavaScript Java 应用服务中间件
centos部署vue项目(java,tomcat环境的搭建)
centos部署vue项目(java,tomcat环境的搭建)
102 0
|
3月前
|
移动开发 Java 应用服务中间件
tomcat第1章 tomcat介绍、安装、部署项目
tomcat第1章 tomcat介绍、安装、部署项目
|
2月前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
1天前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
11天前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
34 3
|
3月前
|
XML Java 应用服务中间件
Tomcat_servlet部署、编译、配置、打包
Tomcat_servlet部署、编译、配置、打包
56 0
|
29天前
|
Java 应用服务中间件 Shell
|
2月前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
87 7
|
2月前
|
IDE Java 应用服务中间件
Tomcat部署的服务有部分中文是乱码如何处理
【6月更文挑战第9天】Tomcat部署的服务有部分中文是乱码如何处理
42 5
|
2月前
|
应用服务中间件
Tomcat正常部署,Tomcat使用前先add Configuration一下
Tomcat正常部署,Tomcat使用前先add Configuration一下