在运行Tomcat时是否可以更改端口?
例如,Tomcat在默认的8080端口上运行,使用catalina.sh run 启动 Tomcat时是否也可以传递端口号?
注意:我知道可以在server.xml文件中进行更改以更改端口,但是我在启动Tomcat时询问一些问题(例如,传递给catalina.sh的参数)。
您可以创建server.xml具有不同端口的tomcat 配置文件,并将其作为参数传递:
server.xml
./bin/catalina.sh run -config conf/server9090.xml
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为您想要的端口即可。
P=9090
或将此脚本放在$TOMCAT_HOME/bin/run.sh:
$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
chmod +x ./bin/run.sh
那你可以做 ./bin/run.sh 9090
./bin/run.sh 9090