因有需求需要在自己电脑部署多个项目运行,遇到如下如下一些问题,现记录下解决方法供参考
环境: 电脑系统Win7,免安装版 tomcat7 , Jdk1.7 (因为需部署多个项目,用的是免安装版tomcat,一个tomcat解压包中放一个项目)
1. 启动tomcat 脚本startup.bat 闪退问题:
这个是jdk安装环境不匹配导致, 解决方法 :修改tomcat安装包下面的bin文件夹中的setclasspath.bat脚本,添加对应版本jdk环境配置
在setclasspath.bat脚本中添加如下对应的jdk环境(根据自己电脑修改对应位置)
set JAVA_HOME=E:\apache-tomcat-7.0.62\Jdk_1.7
set JRE_HOME=E:\apache-tomcat-7.0.62\Jdk_1.7\jre
2. 部署第二个及后面项目报JVM_Bind 报错(8080,8009,8005)
这个是端口被占用导致(一开始我以为只要设置8080端口不一样就可以运行多个项目,后来发现其他几个端口的配置也需要更改)
解决方法,修改tomcat安装包下面conf文件夹下面的server.xml各端口,这个配置文件中有好几个端口配置
当我没有修改8080端口时,报 JVM _Bind <null>:8080 错误,此时需要修改这个8080端口
当我修改完8080端口后,又报JVM_Bind<null>:8009 错误,此时需要修改8009端口
当我再次修改完8009端口后,又报JVM_Bind<null>:8005错误,此时需要修改8005端口
设置一个不重复的端口数就行,我的三个端口设置参考如下
tomcat中四个通信端口解释:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="60000" redirectPort="8443" disableUploadTimeout="false" executor="tomcatThreadPool" URIEncoding="UTF-8"/>
其中8080为HTTP端口,8443为HTTPS端口
<Server port="8005" shutdown="SHUTDOWN">
8005为远程停服务端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
8009为AJP端口,APACHE能过AJP协议访问TOMCAT的8009端口。