1. 程式人生 > >tomcat啟動報錯:java.net.BindException: Permission denied :80

tomcat啟動報錯:java.net.BindException: Permission denied :80

1,啟動報錯顯示

[org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 ms
Jun 01, 2015 6:39:06 PM org.apache.coyote.http11.Http11Protocol start
SEVERE: Error starting endpoint
java.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 more Jun 01, 2015 6:39:06 PM org.apache.catalina.core.StandardService start SEVERE: 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 init INFO: JK: ajp13 listening on /0.0.0.0:9109 Jun 01, 2015 6:39:06 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/17 config=null Jun 01, 2015 6:39:06 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 6868 ms

問題分析:在Suse上只有root使用者才可以訪問1024以下的埠號,其餘使用者不能訪問。

2,解決方案

2.1,修改Tomcat的server.xml配置檔案,將埠修改為8081(或者其他1024以上的埠號,不能與本機上的其它Tomcat埠衝突)

[[email protected]]# 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,然後使用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]# 

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.s[email protected]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.s[email protected]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.s[email protected]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 ms
Jun 01, 2015 6:42:45 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8081
Jun 01, 2015 6:42:45 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:9109
Jun 01, 2015 6:42:45 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/16  config=null
Jun 01, 2015 6:42:45 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6827 ms
^C

2016-04-16 補充:
執行service iptables save;將修改的iptables資訊儲存起來,restart會生效,並且加入chkconfig重啟生效:

        service iptables save;
        chkconfig --level 2345 iptables on;
        chkconfig --add iptables;

相關推薦

tomcat啟動java.net.BindException: Permission denied :80

1,啟動報錯顯示 [org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 ms Jun

jetty 啟動 java.net.BindException: Address already in use

開始新的IDE和容器之旅,IDEA + Jetty,啟動jetty的時候報錯: java.net.BindException: Address already in use: 原因:埠被佔用。 查看了一下,Apache和Maven控制檯開著,於是先關閉Apache,再試,還

java.net.bindexception: address already in use: jvm_bind:8080

lips RoCE ava ESS build 命令 ips 顯示 exception 原因:8080端口被占用 這說明80端口(該端口是Tomcat的監聽端口)已經被其他程序占用,先用命令提示符 " netstat -ano " 命令顯示端口狀態,再在結果中找到端口,然

tomcat啟動java.lang.ClassCastException: org.apache.jasper.runtime.ELContextImpl cannot be cast to..

啟動tomcat的專案報錯如下: 解決思路: 1.看到這個錯誤,java.lang.ClassCastException: org.apache.jasper.runtime.ELContextImpl cannot be cast to org.apache.jasper.el.ELC

java.net.bindexception: address already in use: jvm_bind

exceptio exc 原因 報錯 pan use ddr net exce 原因:8080端口被占用 報錯:java.net.bindexception: address already in use: jvm_bind

Java Web專案Tomcat啟動java.util.zip.ZipException: invalid LOC header

java.util.zip.ZipException: invalid LOC header (bad signature) at java.util.zip.ZipFile.read(Native Method) at java.u

解決java.net.BindException: 無法指定被請求的地址

今天在linux虛擬機器上裝了tomcat,但是一直啟動不了,檢視日誌,主要報錯如下: 嚴重: StandardServer.await: create[localhost:8005]: java.net.BindException: 無法指定被請求的地址 at java.n

tomcat啟動 java net BindException Permission denied null

                     1,啟動報錯顯示[org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 msJun 01, 201

tomcat啟動Address already in use: JVM_Bind

程序 already 原因 輸入 日誌 task exce ID src tomcat啟動時出現Address already in use: JVM_Bind 的原因是因為端口被占用,有可能是因為多次啟動tomcat或者啟動了多個tomcat,或者是其他應用程序或者服務占

maven項目使用tomcat啟動Server Tomcat v8.5 Server at localhost failed to start

com 再次 tar 同事 使用 sta 本地倉庫 art ati 背景說明:1)該項目為maven項目,使用的maven的本地倉庫裏有不少之前使用過下載的jar包;      2)從svn下載該項目後,無報錯情況;      3)部署到tomcat啟動報錯 如下 :

IDEA 啟動java.lang.IllegalStateException: failed to create a child event loop 問題解決

遇到的問題 昨天電腦自動更新了,今天死活啟動不了專案,看到idea的提示是: idea日誌如下 根據提示說 檢視idea的啟動日誌: 2018-11-20 17:35:42,010 [ 46737] INFO - plication.impl.Applicat

jetty啟動java.lang.ArrayIndexOutOfBoundsException 24879

一、報錯資訊 二、錯誤分析 專案使用jdk版本是1.8,jetty使用的版本是9.0.3; spring使用的版本是3.0.2; 而專案使用了jdk8的相關特性編寫程式碼; 由於jetty9.0.3和spring3.0.2對jdk8支援不是很全面,所以報上述錯誤。 解決

Springboot2.0啟動java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle

springboot2.0啟動報錯: java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle     at java.lang.ClassLoader.defineClass1(Native Met

基於SpringCloud+不同主機上的微服務相互呼叫java.net.UnknownHostException:主機名

專案背景:採用Spring Cloud+IEDA+Maven搭建了由多個微服務組成的專案,部署上線是用的是Docker容器技術。 問題描述:部署上線過程中,各個微服務都正常啟動,而且都註冊到了eureka註冊中心,但是相互呼叫時報java.net.Unknown

tomcat啟動Could not publish server configuration for Tomcat v7.0 Server at localhost。

我用的是tomcat7.0.82. tomcat報錯,無法啟動。 **報錯資訊:**Could not publish server configuration for Tomcat v7.0 server at localhost. 和 Server Tomcat v7.0 Ser

Tomcat啟動 StandardServer.await: create[8005] 簡單解決方案

錯誤資訊 org.apache.catalina.core.StandardServer await 嚴重: StandardServer.await: create[8005]: java.net.BindException: Addre

[糾錯]tomcat啟動Address already in use: JVM_Bind

之前啟動myelipse失敗後重啟,之後啟動專案時一直報錯,根據網上的教程解決了. 1.daka開啟cmd,輸入netstat -ano 會出現各種地址和pid,找到報錯的埠檢視它的pid 2.輸入tasklist|findstr "xxxx(pid)",回車,就可以獲取佔據埠的程

tomcat啟動1,啟動顯示 [org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc'

1,啟動報錯顯示 [org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 ms Jun 01, 201

關於Tomcat啟動Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]

這幾天Tomcat啟動老是遇見這個錯 : Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"],看來是非要我記住這個教訓不可呀。 一般是 Tomcat 的預設埠被佔用

tomcat啟動javajni.c] [error] 找不到指定的模組

在機器上面安裝了tomcat6.0.18,之後發現tomcat不能啟動了. 檢視tomcat logs [2008-03-17 16:02:20] [174 javajni.c] [error] 找不到指定的模組。 [2008-03-17 16:02:20] [986 prunsrv.c] [error]