每次重启服务器tomcat开启时报错

最近偶尔会重启linux服务器,centos7的版本,手动使用tomcat的bin下startup.sh开启tomcat服务,但是每次重启后网页都报404错误,使用tail -300查看tomcat的logs下的catalina.out都会有一堆报错:

Jul 03, 2017 11:24:03 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[8005]: 
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:404)
at org.apache.catalina.startup.Catalina.await(Catalina.java:676)
at org.apache.catalina.startup.Catalina.start(Catalina.java:628)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)


Jul 03, 2017 11:24:03 AM org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
Jul 03, 2017 11:24:04 AM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
log4j:ERROR Error occured while converting date.
java.lang.NullPointerException
at java.lang.System.arraycopy(Native Method)
at java.lang.AbstractStringBuilder.getChars(AbstractStringBuilder.java:361)
at java.lang.StringBuffer.getChars(StringBuffer.java:247)
at org.apache.log4j.helpers.ISO8601DateFormat.format(ISO8601DateFormat.java:130)
at java.text.DateFormat.format(DateFormat.java:345)
at org.apache.log4j.helpers.PatternParser$DatePatternConverter.convert(PatternParser.java:443)
at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:65)
at org.apache.log4j.PatternLayout.format(PatternLayout.java:506)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:199)
at com.avatar.db.v1patch.V1ToV2Bridge.startup(V1ToV2Bridge.java:52)
at com.avatar.db.datasource.DataSourceManager.loadDataSourceConfig(DataSourceManager.java:146)
at com.avatar.db.datasource.DataSourceManager.initConnectionProvider(DataSourceManager.java:48)
at com.avatar.db.DBFactory.create(DBFactory.java:55)
at com.common.BaseDAO.<init>(BaseDAO.java:15)
at com.system.dao.IMDAO.<init>(IMDAO.java:12)
at com.system.action.IMAction.<clinit>(IMAction.java:26)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:142)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
at java.lang.reflect.Field.set(Field.java:764)
at org.apache.catalina.loader.WebappClassLoader.clearReferencesStaticFinal(WebappClassLoader.java:2109)
at org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1969)
at org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1871)
at org.apache.catalina.loader.WebappLoader.stop(WebappLoader.java:742)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4994)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:934)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1363)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1335)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1102)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1114)
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:468)
at org.apache.catalina.core.StandardService.stop(StandardService.java:604)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:795)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:662)
at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Jul 03, 2017 11:24:05 AM org.apache.coyote.http11.Http11Protocol destroy

使用功能ps -ef | grep tomcat或者ps -ef | grep java查看tomcat端口号,和netstart -antp查看8080端口后发现8080端口是被tomcat占用的

然后查找资料发现是上次关机时未关闭tomcat导致的(笑cry), 所以使用sh shutdown.sh重新关闭tomcat再开启就可以了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 若要在Eclipse中重新启动Tomcat服务器,您可以按照以下步骤操作: 1. 在Eclipse的“Servers”视图中,右键单击您要重启Tomcat服务器。 2. 选择“Restart”或“Clean”的选项,取决于您想要执行的操作。 3. 如果选择“Restart”,则Tomcat服务器将重新启动。如果选择“Clean”,则Eclipse将清理服务器,并将重新启动。 请注意,这可能需要一些间,具体取决于您的应用程序的大小和复杂性。同,确保您的Tomcat服务器和应用程序已正确配置并且没有任何错误。 ### 回答2: 在使用Eclipse进行Web项目开发,我们经常需要重启Tomcat服务器以使修改的代码生效。本文将介绍在Eclipse中如何重启Tomcat服务器。 首先,我们需要确保Tomcat服务器已经在Eclipse中配置好并启动。我们可以通过打开Eclipse的Servers视图来检查服务器的状态。如果Tomcat服务器还未配置,可以在Eclipse中选择“Window”菜单中的“Preferences”,然后找到“Server”节点,配置Tomcat服务器并保存。 当我们需要重启Tomcat服务器,可以在Eclipse的Servers视图中找到已经启动的Tomcat服务器,然后右键单击该服务器,选择“Restart”选项。这将会使Tomcat服务器停止并重新启动,以使修改的代码生效。 此外,我们还可以使用快捷键Ctrl+Alt+R来重新启动Tomcat服务器。我们只需在Eclipse中打开需要重启Tomcat服务器所在的Java文件或jsp文件,然后按下Ctrl+Alt+R键即可。这个快捷键是Eclipse内置的快捷键,可以简化重启Tomcat服务器的操作步骤。 在使用Eclipse进行Web项目开发重启Tomcat服务器是一个非常常见的操作。通过上述两种方式可以轻松完成Tomcat服务器重启,以使我们的修改生效。 ### 回答3: 在使用Eclipse开发Web项目,我们经常需要重启Tomcat服务器来更新我们所做的更改,在Eclipse中重启Tomcat服务器非常简单。下面我来简单介绍一下具体的步骤。 首先,我们需要在Eclipse的Servers视图中找到我们所使用的Tomcat服务器。 其次,我们需要右键单击该服务器,选择"Restart"选项。这将会关闭并重新启动该服务器。 如果我们希望每次更新后立即自动重启Tomcat服务器,我们可以在该服务器上单击鼠标右键并选择"Properties"选项,然后找到"Modules"选项卡,勾选"Auto Reload"选项。这样,每次更改完文件后,Tomcat服务器就会立即自动重启,以便我们及查看更改后的结果。 需要注意的是,在开发Web项目,尽量不要频繁重启Tomcat服务器,因为这样会浪费大量的间。我们应该在多个更改完成后再重启服务器,以便尽可能地提高工作效率。此外,在重启服务器前,我们还需要保存好所有更改过的文件,以免因为重启服务器而导致数据丢失。 总之,通过以上简单的步骤,我们可以轻松地重启Tomcat服务器,方便我们及查看更改后的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值