日期:2014-05-16  浏览次数:20755 次

Linux下Tomcat 80端口被占用的解决办法

?

分析:netstat -an查看到大量的80端口进程僵死,重启tomcat.tomcat启动失败,网页依然无法打开.

?

停止tomcat进程shutdown.sh,停止tomcat后telnet 127.0.0.1 80,发现80端口依然可用。netstat -an|grep 80 查看发现有许多80端口进程在里面,使用kill pid命令终止进程,无用。使用lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'命令后所有80端口进程删除。重新启动tomcat,系统正常运行。不过为什么tomcat在关闭时却不能将80端口的进程一并关闭的原因需要分析一下。

?

?

[root@gzcourt bin]# netstat -an |grep 80

tcp 0 0 ::ffff:127.0.0.1:8005 :::* LIST

EN

tcp 0 0 :::8009 :::* LIST

EN

tcp 0 0 :::80 :::* LIST

EN

tcp 0 0 :::8080 :::* LIST

EN

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:202.160.179.12:36057 TIME

_WAIT

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:202.160.178.15:39176 TIME

_WAIT

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:218.20.57.173:55001 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:218.20.57.173:3516 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:218.20.57.173:55037 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:218.20.57.173:3518 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:61.135.162.208:57893 TIME

_WAIT

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:210.72.4.122:39196 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:59.32.124.136:22529 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:218.20.57.173:55222 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:218.20.57.173:3510 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:59.32.124.136:22530 ESTA

BLISHED

tcp 0 0 ::ffff:172.16.1.153:80 ::ffff:210.72.4.122:39198 ESTA

BLISHED

unix 3 [ ] STREAM CONNECTED 6880 /tmp/.X11-unix/X0

# lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh

?

以上脚本可以清除80端口的进程

?

?

?


解决方案:linux 下将tomcat的server.xml的端口改为80后以tomcat身份无法启动tomcat。