Tomcat

 

1 安装

 

tomcat只需要解压就可以使用,不需要安装,这个比较简单。

 

首先我们新建tomcat使用的用户与用户组如下

 

我们将apache-tomcat-8.5.64.tar.gz 上传到 用户根目录下。注意一点,一般tomcat的版本与本地jdk版本号相同是最搭配的情况,我们本地jdk一般是jdk8,建议使用tomcat8或tomcat8.5,越高的tomcat版本一般需要jdk版本越高,不搭配的使用可能会出现环境问题。

1615530108246

 

通过 tar -zxvf apache-tomcat-8.5.64.tar.gz 解压出来即可。

 

2 部署与启动

 

首先,第一次需要配置访问端口,例如我这里使用8081,修改 [tomcat目录]/conf/server.xml 文件

 

vi 该文件,找到 protocol="HTTP/1.1" 的 connector,修改port=8081即可。

1615530348173

先不要退出该文件,下面我们顺便将特殊字符配置处理一下,Tomcat 有一个RFC特殊字符校验,如果不配置的话,请求中的很多特殊字符无法使用(tomcat7以下不需要配置)。

我们依然调整这条Connector信息,添加下面配置

 

1615530524347

 

这个配置完,我们保存文件,依然是该目录下,vi catalina.properties 文件,到文件最后,添加下面的配置进去

 

1615530668757

 

配置完成后保存退出即可。

 

下面是部署项目过程,把项目上传到 [tomcat目录]/webapp下即可,项目目录或war包都可以,目录上传后修改名称为工程名。

1615530828904

 

下面是启动过程,到 [tomat目录]/bin目录下,执行 ./startup.sh 即可

 

1615530912283

启动后,查看控制台日志,查看 [tomcat目录]/logs/catalina.out 内容即可

 

使用 http://192.168.1.137:8081/lily 已经可以正常访问

1615531077524

 

3 项目停止

 

停止tomcat的方式比较简单,与weblogic类似,定位到进程后强关进程即可。

 

查询进程号的方式也是一样的方式,一种方式是通过进程内容筛选,使用下面的命令

 

1615531299958

内容最长的就是我们需要的信息,进程号是16871。

 

另一种方式是通过监听端口筛选,使用下面的方式

1615531391335

 

通过 kill -9 [进程号] 强杀即可。

4 清除缓存

 

tomcat 缓存文件在 [tomcat]/work/Catalina 文件中,

直接 rm -rf Catalina 即可(注意清理前一定先关闭tomcat)。

 

5 数据源

 

tomcat配置数据源的处理比weblogic要稍微麻烦一些,下面来说明具体方法。

 

首先,tomcat中不带jdbc的jar包,需要我们先将数据源的jdbc包上传到 [tomcat目录]/lib 下面。

1615531669844

 

上送上去后,我们到 [tomcat目录]/conf/context.xml 中配置数据源信息,将下面的信息添加到根节点下

name建议配置全小写,maxActive(最大活动连接)与maxIdle(最大等待连接)请根据实际情况配置。

1615531938120

这样tomcat这边准备就完成了。

 

需要使用该数据源的项目,需要在项目中配置2个位置。

一个是在web.xml中引入数据源支持,将下面的信息配置到web.xml根节点下

然后在config/esb/driver/db/appDBConnect.xml中调整POOL配置,配置为 java:comp/env/jdbc/test,这个位置注意,配置tomcat连接池,java:comp/env/ 这个前缀必须加上。这样就可以了。

 

常见问题汇总

 

1. tomcat RFC 7230

 

后台报错7230,前端响应400时,可以使用下面方式修复。

 

2. 修改内存

 

Windows下,在文件/bin/catalina.bat,Linux下,在文件/bin/catalina.sh的前面,增加如下设置:

JAVA_OPTS=-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】

JAVA_OPTS 这个是,TOMCAT已经定义好的,名,你只需要将 JAVA_OPTS=-Xms256m -Xmx512m

这句话,添加到

 

catalina.bat(windows)

set JAVA_OPTS=-Xms256m -Xmx512m

catalina.sh(linux)

JAVA_OPTS=-Xms256m -Xmx512m

或者直接修改start.bat或start.sh文件也行,因为start文件会调用catalina文件,如:

如果是windows环境,在startup.bat中加入set JAVA_OPTS=-Xms256m -Xmx1024m

如果是linux则在startup.sh中加入JAVA_OPTS=-Xms256m -Xmx1024m

 

3. 跨域访问

 

有时候前端配置跨域后,在tomcat中cookie路径不为/,导致无法携带cookie,处理方案如下。

修改tomcat/conf/server.xml

 

一般只需要设置 sessionCookiePath="/" 即可。

取消httpOnly的方式如下

修改tomcat/conf/context.xml