如题,据说tomcat10升级后存在较严重兼容性问题,部分旧项目甚至需要改造源码才能正常运行。
为最大程度兼容旧项目,坚决采用tomcat9编译安装;大爱Java8,也坚决表示不升级!
编译环境:centos7.9+java8+tomcat9
1、下载tomcat
打开汤姆家网站,进入tomcat9下载页面,
截止目前最新版本是9.0.58
README:Tomcat 9.0 requires Java 8 or later.
注意:下载二进制tar包而非源码包,上传源码包到/usr/local/src
2、下载java
进入jdk下载页面
上传源码包到/usr/local/src
3、配置java环境
rpm -qa | grep java # 检测本地是否有安装
java -version # 查看java版本号
mkdir -p /usr/local/java/jdk1.8.0 # 创建java目录
cd /usr/local/src
tar -zxvf jdk-8u301-linux-x64.tar.gz
mv -f jdk1.8.0_301/* /usr/local/java/jdk1.8.0 # 安装Java
vim /etc/profile # 配置环境变量
profile末尾加入
JAVA_HOME=/usr/local/java/jdk1.8.0
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
source /etc/profile # 修改立刻生效
echo $PATH # 查看系统环境
java -version #测试是否成功
4、编译tomcat9
假设安装目录 /usr/local/tomcat,日志目录 /data/logs/tomcat
1)创建目录
mkdir /usr/local/tomcat
mkdir /usr/local/tomcat/logs
mkdir /usr/local/tomcat/temp
mkdir /data/logs/tomcat
2)安装tomcat
cd /usr/local/src/
tar zxvf apache-tomcat-9.0.58.tar.gz
cp -rp /usr/local/src/apache-tomcat-9.0.58/* /usr/local/tomcat
3)安装commons-daemon-native
cd /usr/local/tomcat/bin
tar -zxvf commons-daemon-native.tar.gz
cd /usr/local/tomcat/bin/commons-daemon-1.2.4-native-src/unix
./configure --with-java=/usr/local/java/jdk1.8.0
make
4)复制jsvc文件到bin目录
cp jsvc /usr/local/tomcat/bin
5)创建tomcat用户(以tomcat账号运行)
groupadd tomcat
useradd -g tomcat -s /sbin/nologin tomcat
6)开机启动(3处修改)
vim /usr/local/tomcat/bin/daemon.sh
#!/bin/sh
# chkconfig: 2345 86 16
PRG=/usr/local/tomcat
JAVA_HOME=/usr/local/java/jdk1.8.0
CATALINA_HOME=/usr/local/tomcat
TOMCAT_USER=tomcat
test ".$CATALINA_OUT" = . && CATALINA_OUT="/web/logs/tomcat/catalina-daemon.out"
chmod +x /usr/local/tomcat/bin/*.sh
cp -p /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
chmod +x /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig --level 2345 tomcat on
7)修改日志位置
vim /usr/local/tomcat/conf/logging.properties
1catalina.org.apache.juli.AsyncFileHandler.level = WARNING
1catalina.org.apache.juli.AsyncFileHandler.directory = /data/logs/tomcat
2localhost.org.apache.juli.AsyncFileHandler.directory = /data/logs/tomcat
3manager.org.apache.juli.AsyncFileHandler.directory = /data/logs/tomcat
4host-manager.org.apache.juli.AsyncFileHandler.directory = /data/logs/tomcat
vim /usr/local/tomcat/bin/catalina.sh
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT=/web/logs/tomcat/catalina.out
fi
8)定义日志格式
vim /usr/local/tomcat/conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="/data/logs/tomcat" prefix="localhost_access_log." suffix=".txt"
pattern="combined" resolveHosts="false" fileDateFormat="yyyy-MM-dd" />
9)设置文件夹权限
通常不建议把站点放在默认webapps下,出于安全原因,最好把webapps文件夹清空。
假设新站点位于/data/www/web1
注意:为tomcat安装目录、日志目录和站点所在文件夹分别配置tomcat账号的权限
chown -R tomcat:tomcat /usr/local/tomcat
chown -R tomcat:tomcat /data/logs/tomcat
chown -R tomcat:tomcat /data/www/web1
10)启动和停止测试,搞定!
service tomcat start
service tomcat stop
至于配置tomcat访问根目录、虚拟主机和虚拟目录,不在本文讨论之列~需要的话,另文详细描述~