一尘不染

使用其他端口动态运行Tomcat

tomcat

在运行Tomcat时是否可以更改端口?

例如,Tomcat在默认的8080端口上运行,使用catalina.sh run 启动 Tomcat时是否也可以传递端口号?

注意:我知道可以在server.xml文件中进行更改以更改端口,但是我在启动Tomcat时询问一些问题(例如,传递给catalina.sh的参数)。


阅读 468

收藏
2020-06-16

共1个答案

一尘不染

您可以创建server.xml具有不同端口的tomcat 配置文件,并将其作为参数传递:

./bin/catalina.sh run -config conf/server9090.xml

conf/server9090.xml您可以在其中设置端口的位置:

<Connector port="9090" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

您可以使用以下这种方法完成所有工作:

 P=9090 ;sed "s/8080/$P/g" < conf/server.xml > /tmp/srv.xml && ./bin/catalina.sh run -config /tmp/srv.xml

只需更改P=9090为您想要的端口即可。

或将此脚本放在$TOMCAT_HOME/bin/run.sh

#!/bin/bash
if [ -z "$1" ];then
    echo "Usage: $0 [port]"
    exit 1
fi
cd `dirname $0`
sed "s/8080/$1/g" < ../conf/server.xml > /tmp/server.xml \
    && ./catalina.sh run -config /tmp/server.xml

使脚本可执行 chmod +x ./bin/run.sh

那你可以做 ./bin/run.sh 9090

2020-06-16