tomcat启动报错 java net BindException Permission denied 80

                       

1,启动报错显示

[org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 msJun 01, 2015 6:39:06 PM org.apache.coyote.http11.Http11Protocol startSEVERE: Error starting endpointjava.net.BindException: Permission denied <null>:80    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)    at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:565)    at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:207)    at org.apache.catalina.connector.Connector.start(Connector.java:1196)    at org.apache.catalina.core.StandardService.start(StandardService.java:540)    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)    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:601)    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)Caused by: java.net.BindException: Permission denied    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 moreJun 01, 2015 6:39:06 PM org.apache.catalina.core.StandardService startSEVERE: Failed to start connector [Connector[HTTP/1.1-80]]LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Permission denied <null>:80    at org.apache.catalina.connector.Connector.start(Connector.java:1203)    at org.apache.catalina.core.StandardService.start(StandardService.java:540)    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)    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:601)    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)Jun 01, 2015 6:39:06 PM org.apache.jk.common.ChannelSocket initINFO: JK: ajp13 listening on /0.0.0.0:9109Jun 01, 2015 6:39:06 PM org.apache.jk.server.JkMain startINFO: Jk running ID=0 time=0/17  config=nullJun 01, 2015 6:39:06 PM org.apache.catalina.startup.Catalina startINFO: Server startup in 6868 ms
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

<版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!> 
原博客地址:  http://blog.csdn.net/mchdba/article/details/46335861
原作者:黄杉 (mchdba)


问题分析:在Suse上只有root用户才可以访问1024以下的端口号,其余用户不能访问。


2,解决方案

2.1,修改Tomcat的server.xml配置文件,将端口修改为8081(或者其他1024以上的端口号,不能与本机上的其它Tomcat端口冲突)

[root@tomcat57conf]# vim /usr/local/app/apache-tomcat-6.0.37_hechuang_lib/conf/server.xml    <Connector port="8081" protocol="HTTP/1.1"                connectionTimeout="30000"                maxThreads="2000"               acceptCount="2000"               URIEncoding="UTF-8"               redirectPort="9143" />    <!-- A "Connector" using the shared thread pool-->
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.2,然后使用root用户登录服务器,执行端口重定向命令:iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8081。

意思就是当访问80端口时重定向到8081端口,这样,我们可以改成任何我们需要的端口啦。

[root@tomcat57conf]# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081[root@tomcat57conf]# 
   
   
  • 1
  • 2

2.3,切换到tomcat账号,启动tomcat服务

就可以正常访问了:

INFO: Deploying web application directory databox[org.springframework.web.context.ContextLoader]Root WebApplicationContext: initialization started[org.springframework.web.context.support.XmlWebApplicationContext]Refreshing Root WebApplicationContext: startup date [Mon Jun 01 18:42:44 CST 2015]; root of context hierarchy[org.springframework.beans.factory.xml.XmlBeanDefinitionReader]Loading XML bean definitions from class path resource [spring.xml][org.springframework.beans.factory.xml.XmlBeanDefinitionReader]Loading XML bean definitions from class path resource [spring-mybatis.xml][org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]Loading properties file from class path resource [config.properties][org.springframework.beans.factory.support.DefaultListableBeanFactory]Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@71d7c3ff: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,receiptService,posmonitorService,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,dataSource,sqlSessionFactory,org.mybatis.spring.mapper.MapperScannerConfigurer#0,transactionManager,transactionAdvice,org.springframework.aop.config.internalAutoProxyCreator,transactionPointcut,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor,receiptMapper,posMonitorLogsMapper]; root of factory hierarchy[com.alibaba.druid.pool.DruidAbstractDataSource]maxIdle is deprecated[com.alibaba.druid.pool.DruidDataSource]{dataSource-1} inited[org.springframework.web.context.ContextLoader]Root WebApplicationContext: initialization completed in 1433 ms[org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization started[org.springframework.web.context.support.XmlWebApplicationContext]Refreshing WebApplicationContext for namespace 'springMvc-servlet': startup date [Mon Jun 01 18:42:45 CST 2015]; parent: Root WebApplicationContext[org.springframework.beans.factory.xml.XmlBeanDefinitionReader]Loading XML bean definitions from class path resource [spring-mvc.xml][org.springframework.beans.factory.support.DefaultListableBeanFactory]Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5d4ee178: defining beans [receiptController,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,mappingJacksonHttpMessageConverter,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0,org.springframework.web.servlet.view.InternalResourceViewResolver#0,multipartResolver,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@71d7c3ff[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping]Mapped URL path [/receiptController/receiveReceiptData] onto handler 'receiptController'[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping]Mapped URL path [/receiptController/receiveReceiptData.*] onto handler 'receiptController'[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping]Mapped URL path [/receiptController/receiveReceiptData/] onto handler 'receiptController'[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping]Mapped URL path [/receiptController/receivePosInfoData] onto handler 'receiptController'[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping]Mapped URL path [/receiptController/receivePosInfoData.*] onto handler 'receiptController'[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping]Mapped URL path [/receiptController/receivePosInfoData/] onto handler 'receiptController'[org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 377 msJun 01, 2015 6:42:45 PM org.apache.coyote.http11.Http11Protocol startINFO: Starting Coyote HTTP/1.1 on http-8081Jun 01, 2015 6:42:45 PM org.apache.jk.common.ChannelSocket initINFO: JK: ajp13 listening on /0.0.0.0:9109Jun 01, 2015 6:42:45 PM org.apache.jk.server.JkMain startINFO: Jk running ID=0 time=0/16  config=nullJun 01, 2015 6:42:45 PM org.apache.catalina.startup.Catalina startINFO: Server startup in 6827 ms^C
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

2016-04-16 补充:
        执行service iptables save;将修改的iptables信息保存起来,restart会生效,并且加入chkconfig重启生效:

        service iptables save;        chkconfig --level 2345 iptables on;        chkconfig --add iptables;
   
   
  • 1
  • 2
  • 3
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/hfdgjjg/article/details/87366158
今日推荐