1. ホーム
  2. Qt

tomcat 起動エラー: java.net.BindException: パーミッションが拒否されました <null>:80

2022-02-28 02:16:58
<パス

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)
	Bootstrap.main(Bootstrap.java:414) at org.apache.catalina.startup.
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)
	Bootstrap.main(Bootstrap.java:414) at org.apache.catalina.startup.

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



< 無断転載を禁じます。ただし、出典のアドレスをリンクで明示しなければ法的責任を追及されます! >
オリジナルブログのアドレスです。 http://blog.csdn.net/mchdba/article/details/46335861
投稿者: 黄泉(mchdba)


問題の分析 Suseで1024以下のポート番号にアクセスできるのはrootユーザーだけで、それ以外のユーザーはアクセスできません。


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 -->


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.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. DefaultBeanFactoryPointcutAdvisor#0,org.springframework.aop.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 'receiveiptController'
[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping] Mapped URL path [/receiptController/ receiveReceiptData.*] onto handler 'receiveiptController'
[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping] Mapped URL path [/receiptController/ receiveReceiptData/] onto handler 'receiveiptController'
[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping] Mapped URL path [/receiptController/ receivePosInfoData] onto handler 'receiveiptController'
[org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping] Mapped URL path [/receiptController/ receivePosInfoData.*] onto handle


2016-04-16 追記しました。
service iptables save; を実行して、変更したiptablesの情報を保存すると、restartが有効になり、chkconfig rebootを追加すると有効になります:.

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