Tomcat startup error: java.net. BindException: Permission denied & lt; null & gt;: 80, qtpermissiondenied

Source: Internet
Author: User

Tomcat startup error: java.net. BindException: Permission denied <null>: 80, qtpermissiondenied
1. Enable error display

[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

<All Rights Reserved. This document can be reprinted, but the source address must be indicated by link. Otherwise, we will be held legally responsible.>
Original blog address: http://blog.csdn.net/mchdba/article/details/46335861
Original Author: Huang Shan (mchdba)

Problem Analysis: only the root user can access the port number below 1024 on Suse, and other users cannot access it.


2. Solution 2.1: Modify the Tomcat server. xml configuration file and change the port to 8081 (or other port numbers above 1024 cannot conflict with other Tomcat ports on the local machine)
[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-->
2.2, then use the root user to log on to the server and run the port redirection command: iptables-t nat-a prerouting-p tcp-dport 80-j REDIRECT-to-port 8081.

This means to redirect to port 8081 when accessing port 80, so that we can change it to any port we need.

[root@tomcat57conf]# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081[root@tomcat57conf]# 
2.3 switch to the tomcat account and start the tomcat Service

You can access the service normally:

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.