我在tomcat 7.0.23上部署了一个Web应用程序,并且设置了两个连接器,几乎是默认值。
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
compression="on"
compressableMimeType="text/xml"
address="SERVER_HOSTNAME" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="400" scheme="https" secure="true"
address="SERVER_HOSTNAME"
clientAuth="false" SSLProtocol="ALL"
SSLCertificateFile="/PATH/tomcat-server.crt"
SSLCertificateKeyFile="/PATH/tomcat-server.rsa"
SSLCipherSuite="ALL:!ADH:!SSLv2:!EXPORT40:!EXP:!LOW"
compression="on" compressableMimeType="text/xml"/>
在tomcat重新启动后,http:8080和https:8443都能正常工作。虽然几天后,8080将无法正常工作,但8443仍能正常工作。 “8080 not work”的含义是当使用firefox访问http:8080时,某些资源如js / css文件将无法随机使用。
在萤火虫中,有时A.js文件将显示为“Aborted”,有时B.js将显示为“Aborted”。我试图访问一个单独的文件,比如http://:8080 / js / A.js文件,结果也是随机的,有时候全部内容可以在浏览器中显示,有时http请求被中止。
我还尝试将connectionTimeout增加到“60000”,唯一的变化就是Firebug,中止请求是0B,但现在是实际大小。让8080正常工作的唯一方法是重启tomcat。
请有人告诉我是什么原因或我应该尝试哪种方式?感谢。
答案 0 :(得分:0)
另一个进程可能是以某种方式使用端口8080。此过程无法正确响应您向Tomcat发送的请求。
因此,下次您看到此问题时,在重新启动Tomcat之前,请检查端口8080当前属于哪个进程。
在Linux上我使用以下命令:
netstat -nlpt | grep 8080
其中一列(如果我没记错的话,最后一列)将是使用该端口的进程的ID。
如果您有Windows设置,请使用
netstat -ano | find "LISTENING" | find "8080"
然后在任务管理器中找到此PID。