Tomcat服务器端部署配置案例
执行shutdown.sh
的同时kill -9 PID
简化
修改
$TOMCAT_HOME/bin/catalina.sh
配置
- 配置
Tomcat
运行的JDK
路径
export JAVA_HOME=#设置为服务器的JDK路径 /jdk1.8.0_101
export JRE_HOME=#设置为服务器的JRE路径 /jdk1.8.0_101/jre
export CATALINA_HOME=/apache-tomcat-8.5.40
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS='-Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC'
# specify jdk version
JAVA_HOME=# JDK路径 /jdk1.8.0_101
JRE_HOME=# JRE 路径 /usr/java/jdk1.8.0_101/jre
查询服务器JDK路径
echo $JAVA_HOME
- 生成
Tomcat
运行时的进程文件,关闭时不需要执行kill -9 pid
命令(也是在catalina.sh
文件内,注释的近几十行找到#Get standard environment variables
就可以了)
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
fi
修改
$TOMCAT_HOME/bin/shutdown.sh
文件
shutdown.sh
文件的最后一行,修改后变成如下所示(增加-force
)
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
多个项目部署为不同Tomcat
时可以通过修改$TOMCAT_HOME/conf/server.xml
中的8005
端口只关闭指定端口
- 首行
<Server port="1005" shutdown="SHUTDOWN">
- 自定义端口
<Connector port="1009" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
目录遍历Bug
方法一:指定自定义目录为Tomcat
访问路径(Tomcat
通过端口遍历webapps
下的文件目录)
- 修改
$TOMCAT_HOME/conf/server.xml
<Host name="localhost" appBase="$DEPLOY_PATH"
unpackWARs="true" autoDeploy="true">
</Host>
注
$DEPLOY_PATH
:WEB
程序部署路径
方法二: 删除$TOMCAT_HOME/webapps/
文件夹下的非项目文件(ROOT目录可删可不删)
rm -rf $TOMCAT_HOME/webapps/*
注
- 删除文件需注意所在文件夹位置,可使用
pwd
命令确认路径是否正确
中间件版本泄露漏洞
将
Tomcat
中的catalina.jar
解压
unzipi $TOMCAT_HOME/lib/catalina.jar
- 得到
META-INF、org
两个文件夹
修改
Tomcat
中的/opt/tomcat-iptvview/apache-tomcat-8.5.56/lib/org/apache/catalina/util/ServerInfo.properties
[root@CDH44 bin]# pwd
/opt/tomcat-iptvview/apache-tomcat-8.5.56/bin
[root@CDH44 bin]# vi /opt/tomcat-iptvview/apache-tomcat-8.5.56/lib/org/apache/catalina/util/ServerInfo.properties
修改后的文件内容
server.info=Apache Tomcat
server.number=0.0.0.0
server.built=Jun 3 2020 20:18:30 UTC
注: 修改了server.info
后的版本号;server.number
的版本号为0.0.0.0
将修改后的信息压缩回
jar
包
[root@CDH44 lib]# vi ./org/apache/catalina/util/ServerInfo.properties
[root@CDH44 lib]# pwd
/opt/tomcat-iptvview/apache-tomcat-8.5.56/lib
[root@CDH44 lib]# jar uvf catalina.jar ./org/apache/catalina/util/ServerInfo.properties
adding: org/apache/catalina/util/ServerInfo.properties(in = 885) (out= 513)(deflated 42%)
[root@CDH44 lib]#