背景

启动tomcat失败

原因

8005 端口被占用

排除过程

查看日志

vim $TOMCAT_HOME/logs/catalina.out

详情

SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Address already in useat java.net.PlainSocketImpl.socketBind(Native Method)at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)at java.net.ServerSocket.bind(ServerSocket.java:376)at java.net.ServerSocket.<init>(ServerSocket.java:237)at org.apache.catalina.core.StandardServer.await(StandardServer.java:426)at org.apache.catalina.startup.Catalina.await(Catalina.java:781)at org.apache.catalina.startup.Catalina.start(Catalina.java:727)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)Jul 30, 2021 1:35:22 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 30, 2021 1:35:22 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 30, 2021 1:35:22 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina

查看相应端口

netstat -tunlp | grep 8005
#如果了解具体的程序
[root@localhost bin]# netstat -tunlp | grep java
tcp6       0      0 :::43473                :::*                    LISTEN      2883/java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2417/java
tcp6       0      0 :::2181                 :::*                    LISTEN      2883/java

查到对应的进程后,查看该进程对应的信息

#ls /proc/PID
[root@localhost bin]# cd /proc/2417
[root@localhost 2417]# ls
attr             cpu_resctrl_groups  io         mountstats     patch_state  smaps         timens_offsets
autogroup        cpuset              limits     net            personality  smaps_rollup  timers
auxv             cwd                 loginuid   ns             projid_map   stack         timerslack_ns
cgroup           environ             map_files  numa_maps      root         stat          uid_map
clear_refs       exe                 maps       oom_adj        sched        statm         wchan
cmdline          fd                  mem        oom_score      schedstat    status
comm             fdinfo              mountinfo  oom_score_adj  sessionid    syscall
coredump_filter  gid_map             mounts     pagemap        setgroups    task

接着看cwd

[root@localhost 2417]# cd cwd
[root@localhost cwd]# ls
bootstrap.jar       commons-daemon-native.tar.gz  digest.sh             shutdown.sh           tool-wrapper.bat
catalina.bat        configtest.bat                dubbo-governance.log  startup.bat           tool-wrapper.sh
catalina.sh         configtest.sh                 setclasspath.bat      startup.sh            version.bat
catalina-tasks.xml  daemon.sh                     setclasspath.sh       tomcat-juli.jar       version.sh
commons-daemon.jar  digest.bat                    shutdown.bat          tomcat-native.tar.gz

可知,8005为原tomcat启动后,异常关闭,导致该端口依旧被占用。

得知结果,强制关闭该进程

# kill -9 PID
kill -9 2417

重启tomcat,并持续观察日志

[root@localhost bin]# ./startup.sh && tail -f ../logs/catalina.out

总结

启动程序过程中,可跟踪日志信息,是否成功启动
端口被占用,可先排查端口信息,使用ps,netstat等工具
对应进程被查到,可在/prod/PID中,查看该进程详细信息

参考

https://www.cnblogs.com/zhumengke/articles/13365644.html

启动tomcat失败 8005 端口被占用相关推荐

  1. 启动进程失败,端口被占用处理方法!

    有时我们启动了很应用,发现电脑卡死,或有应用异常关闭后,想再次启动应用.偶尔会出现进程启动失败,端口被占用,这时有个很简单的方法可以处理,不用动不动就重启电脑啦. 方式如下: 1.在cmd执行nets ...

  2. IDEA启动tomcat程序1099端口被占用解决方案

    报错信息        localhost:1099 is already used 重启,改换端口都无效 以下总结了网上的几种解决方案: 方案一对我来说无效,根本查找不到1099的进程 方案二对我来 ...

  3. idea启动TomCat失败,1099被占用,但是却找不到占用1099的进程解决方式。

    操作系统:Windows10 报错原因:1099端口号被占用 通过 netstat -ano 命令查找所有运行中进程,发现并没有进程占用1099端口.关闭了Hyper-V也不好使. 解决方法: 某些版 ...

  4. supervisor 介绍,启动uwsgi失败,端口被占用

    # 1. supervisor 介绍 supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统.它可以很方 ...

  5. 启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用

    启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用,如图下 步骤: 使用两个tomcat,其中一个可以默认不修改 对另外一个tomcat,打开conf下的server.xml文件 ...

  6. windows10服务器运行失败,win10遇到服务器启动失败 80端口被占用如何解决

    Win10提示"服务器启动失败,80端口被占用"怎么办?具体解决方法如下 步骤如下: 1.以管理员身份运行cmd; 2.输入:net stop http 注:如果提示是否真的需要停 ...

  7. NGINX启动报错,端口被占用

    NGINX启动报错,端口被占用解决方案(修改端口号) Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶 ...

  8. Jenkins执行shell脚本启动tomcat失败解决方法

    Jenkins执行shell脚本启动tomcat失败解决方法 参考文章: (1)Jenkins执行shell脚本启动tomcat失败解决方法 (2)https://www.cnblogs.com/wa ...

  9. 解决启动nginx时报80端口被占用的问题

    解决启动nginx时报80端口被占用的问题 参考文章: (1)解决启动nginx时报80端口被占用的问题 (2)https://www.cnblogs.com/qianzf/p/6812359.htm ...

最新文章

  1. int数组转化为字符数组 java_Java 将int数组转换为字符串
  2. hibernate主配置文件中指定session与当前线程绑定
  3. sql server扫盲系列
  4. P4457-[BJOI2018]治疗之雨【期望dp,高斯消元】
  5. 基于Linux的SOCKET编程之TCP半双工Client-Server聊天程序
  6. leetcode 738. 单调递增的数字(贪心算法)
  7. 信息学奥赛一本通 1978:【18NOIP普及组】标题统计 | 洛谷 P5015 [NOIP2018 普及组] 标题统计
  8. 演练 类的定义 java 1615134691
  9. mojang官方正版服务器,《我的世界》如果Mojang上线最新版本,你最想要的是哪种版本更新...
  10. idea右键单击没有 svn选项处理办法
  11. Exchange 2010 (四) CAS Array部署
  12. 6410裸机开发教程下载
  13. win7小工具打不开_有了这个工具,小白也能设置一键网络共享文件夹与打印机...
  14. Knockout开发中文API系列1
  15. ASK,OOK,FSK,GFSK简介
  16. svg模糊_SVG的运动模糊效果
  17. PHP通过推广二维码追溯统计用户来源
  18. 纯代码开发c# ui_UI代码挑战#1-心跳
  19. 聊聊我眼中恺明大神MAE的成功之处
  20. OpenGL学习——着色器

热门文章

  1. 关于BBS的一些资料
  2. 利用sfntly的sfnttool.jar提取中文字体
  3. Java中用for循环输出九九乘法表
  4. 浅谈游戏业务遭遇攻击的防护措施
  5. 游戏建模必备技巧一人物模型贴图布线!(99%小白收藏)
  6. 基于NodeJs的爬虫
  7. UML九图之三(状态图)
  8. 报告发布|天猫联合瓴羊和贝恩咨询重磅推出《天猫DTC企业经营指南 —— 快速响应,产品致胜》
  9. 基于python的投票系统论文_在线投票系统 毕业论文设计
  10. python tpr fpr