在本地调试一个Web项目,部署到Tomcat,在浏览器访问的时候出现ERR_CONNECT_REFUSED提示,项目是没问题的,因为前一天还是正常运行的,应该是Tomcat出了问题。
先直接访问127.0.0.1:8080和localhost:8080,都不能正常访问Tomcat主页,猫不见了。
1.查看Tomcat配置文件,端口是否正确:
D:JavaToolsapache-tomcat-7.0.73conf目录下面,server.xml配置的确实是8080端口,没问题。
2.关闭防火墙,还是访问不了。
3.发现MyEclipse出现错误提示信息:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind,看起来是端口被占用了。
命令行里运行netstat -ano命令,查看8080端口是被哪一个进程占用:
C:Userslish>netstat -ano
活动连接
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:8009 0.0.0.0:0 LISTENING 1256
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5520
TCP 127.0.0.1:2559 0.0.0.0:0 LISTENING 1512
TCP 127.0.0.1:5939 0.0.0.0:0 LISTENING 2288
可以发现8080端口被PID为5520的进程占用,结束这个进程,使用命令:taskkill -pid 5520 /f
另外,在处理这个问题的时候,发现其它情况下也可能出现Connect Refuse的问题。
1.没启动MapGIS IGServer服务,启动就好了。我这里碰到的不是这种情况。
具体可参考:
https://blog.csdn.net/qq_36305327/article/details/73555351
2.当前连接数达到了TOMCAT处理队列的默认长度: 100
<!-- Coyote HTTP/1.1 Connector
2. className : 该Connector的实现类是org.apache.coyote.tomcat4.CoyoteConnector
3. port : 在端口号8080处侦听来自客户browser的HTTP1.1请求
4. minProcessors : 该Connector先创建5个线程等待客户请求,每个请求由一个线程负责
5. maxProcessors : 当现有的线程不够服务客户请求时,若线程总数不足75个,则创建新线程来处理请求
6. acceptCount : 当现有线程已经达到最大数75时,为客户请求排队
7. 当队列中请求数超过100时,后来的请求返回Connection refused错误
8. redirectport : 当客户请求是https时,把该请求转发到端口8443去
9. 其它属性略
10. -->
11.
12.<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
13. port="8080"
14. minProcessors="5" maxProcessors="75" acceptCount="100"
15. enableLookups="true"
16. redirectPort="8443"
17. debug="0"
18. connectionTimeout="20000"
19. useURIValidationHack="false"
20. disableUploadTimeout="true" />
具体可参考:
https://blog.csdn.net/thundersssss/article/details/5462624