有没有办法在运行Tomcat时更改端口?
例如,Tomcat 在默认的 8080 端口上运行,有没有办法在使用 catalina.sh run 启动Tomcat 时也传递端口号?
注意:我知道可以在 server.xml 文件中进行更改以更改端口,但我在启动 Tomcat 时询问一些事情(例如传递给 catalina.sh 的参数)。
有没有办法在运行Tomcat时更改端口?
例如,Tomcat 在默认的 8080 端口上运行,有没有办法在使用 catalina.sh run 启动Tomcat 时也传递端口号?
注意:我知道可以在 server.xml 文件中进行更改以更改端口,但我在启动 Tomcat 时询问一些事情(例如传递给 catalina.sh 的参数)。
您可以创建一个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