2

有没有办法在运行Tomcat时更改端口?

例如,Tomcat 在默认的 8080 端口上运行,有没有办法在使用 catalina.sh run 启动Tomcat 时也传递端口号?

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

4

1 回答 1

4

您可以创建一个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

于 2013-05-23T19:31:36.450 回答