今天在服务器上部署了两个Tomcat。于是将 server.xml配置文件 中的(必改项)8080端口改成了俩不一样的,其中一个是:
<Connector connectionTimeout="20000" port="9090" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
再把默认的必改项 8005 端口也改为不一样的俩个,其中一个是
<Server port="5008" shutdown="SHUTDOWN">
(可选修改项)修改server.xml中 默认是8009端口的:可以不修改,保持默认
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="9008" protocol="AJP/1.3" redirectPort="8443"/>
最后项目部署上去之后发现修改的端口失效了,其中一个服务器启动报错 socket bind failed:
java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í?
google 下发现别人有一样的问题,原因是:
在Tomcat的startup.bat中有这样的逻辑: if not "%CATALINA_HOME%" == "" goto gotHome set CATALINA_HOME=%CURRENT_DIR% 所以,tomcat就默认用了默认地址中的配置。
其一,注释掉if not "%CATALINA_HOME%" == "" goto gotHome(在前面加rem )
其二,删掉环境变量。在我的电脑属性中的高级配置的环境变量中去删CATALINA_HOME一项(命令行方式我不会set CATALINA_HOME=***只是临时改变当前终端的环境变量,非持久性改变。)
我选择的是第二种方法,删去了环境变量 CATALINA_HOME,再次启动就好了。
如果要外网访问还需要在入站规则里面配置对应的端口号