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


目录
相关文章
|
2月前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
209 84
部署tomcat部署实战案例
|
3月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
2月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
5月前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
1月前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
102 0
|
3月前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
2月前
|
前端开发 Java 应用服务中间件
react自学(6) 部署到tomcat中
react自学(6) 部署到tomcat中
|
3月前
|
应用服务中间件 Linux iOS开发
使用 setenv 配置文件管理 Tomcat 的自定义环境变量
【8月更文挑战第29天】通过在Tomcat安装目录的`bin`文件夹下创建`setenv.sh`或`setenv.bat`文件,可以轻松管理Tomcat的自定义环境变量。针对Linux/macOS系统,需编辑`setenv.sh`文件,如`export MY_CUSTOM_VAR=&quot;my custom value&quot;`;而在Windows系统中,则编辑`setenv.bat`,如`set MY_CUSTOM_VAR=my custom value`。
196 1
|
3月前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
|
6月前
|
XML Java 应用服务中间件
Tomcat_servlet部署、编译、配置、打包
Tomcat_servlet部署、编译、配置、打包
83 0