之前一直正常运行的tomcat昨天忽然打不开,可以启动,但首页显示access error 404。
试了各种方法:修改端口号为8088,查看root文件是否存在,server.xml重新配置,重新安装tomcat,增加环境变量CATALINA_HOME·····都不管用
今天尝试将conf中的server.xml中的相关内容注解掉
<!–
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
–>
发现如下的错误信息消失了,且tomcat首页可以访问了。bad packet signature 18245
严重: BAD packet signature 18245
严重: Error, processing connection
java.lang.IndexOutOfBoundsException
······
可以看出与AJP协议有关
但仍然有一部分警告还在:
StandardServer .await:read
StandardServer .await:invalid command ' ' received
尝试修改AJP协议使用的端口, <Connector port="8013" protocol="AJP/1.3" redirectPort="8443" />
重启tomcat,没有任何报错。
总结:
1.出错了首先一定要看tomcat窗口的提示信息,一开始端口号是8080时,显示错误信息:
很明显就是端口被占用了;
2.除了8080端口被占用,其实AJP协议的端口8009也被占用,这是最大的原因。
3.在命令行输入netstat/ano|findstr "8080" 和netstat -a -n 还是没有找到占用端口的程序
补充:
1、Apache HTTP Server 与 Tomcat 的三种连接方式介绍
http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html#ibm-pcon
2、Tomcat的8009端口AJP的利用
http://lcx.cc/?i=4044
今天用myeclipse打开tomcat忽然报错... prompt:Java.lang.nullpointerexception...查了下tomcat的JDK,发现昨天给tomcat配置的JDK重启后复原了,重新配置了本地JDK,问题解决。