linux下重启tomcat报错(Error code 4 )

来源:互联网 发布:rc4算法故事 编辑:程序博客网 时间:2024/06/05 07:11

接手实验室一个项目,结果发现一重启tomcat就报错,如下图:



文字如下:

[root@AY1307171437076099d1Z ~]# service tomcat6 restart
Stopping tomcat6:                                          [  OK  ]
Starting tomcat6: Error code 4                             [FAILED]

百度了好久,没什么结果,只能自己调试了。


打开tomcat安装目录,一般在/usr/share/tomcat6/ ,进入/bin 文件夹,运行 ./catalina.sh run  命令,这是tomcat的调试命令。出现的内容如下:

Using CATALINA_BASE:   /usr/share/tomcat
Using CATALINA_HOME:   /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.7.0_25
Using CLASSPATH:       /usr/share/tomcat/bin/bootstrap.jar
Sep 19, 2015 10:59:44 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Sep 19, 2015 10:59:45 AM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.net.BindException: Address already in use <null>:8080
        at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)
        at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:182)
        at org.apache.catalina.connector.Connector.initialize(Connector.java:1123)
        at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
        at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:843)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
        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.load(Bootstrap.java:261)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.net.BindException: Address already in use
        at 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 java.net.ServerSocket.<init>(ServerSocket.java:181)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
        at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)
        ... 12 more

说明tomcat的端口8080被占用了,这时运行 netstat -apn ,查看端口的使用情况:


可以看到,端口号8080确实被进程id为11093的进程占用。

接着根据自已情况,看是否 kill 该进程,在此我是把该进程kill了,接着运行service tomcat6 restart ,重启成功。


搞定!

0 0
原创粉丝点击