セットアップは次のとおりです。
Shutdown.shを実行しましたが、エラーは発生しません。
しかし、startup.shを実行しようとすると、このエラーが発生します:
_07-Nov-2011 17:40:40 org.Apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the Java.library.path: /usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client:/usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0/jre/lib/i386:/usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0/jre/../lib/i386:/usr/Java/packages/lib/i386:/lib:/usr/lib
07-Nov-2011 17:40:41 org.Apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
07-Nov-2011 17:40:41 org.Apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
Java.net.BindException: Address already in use <null>:8080
at org.Apache.Tomcat.util.net.JIoEndpoint.init(JIoEndpoint.Java:549)
at org.Apache.coyote.http11.Http11Protocol.init(Http11Protocol.Java:176)
at org.Apache.catalina.connector.Connector.initialize(Connector.Java:1022)
at org.Apache.catalina.core.StandardService.initialize(StandardService.Java:703)
at org.Apache.catalina.core.StandardServer.initialize(StandardServer.Java:838)
at org.Apache.catalina.startup.Catalina.load(Catalina.Java:538)
at org.Apache.catalina.startup.Catalina.load(Catalina.Java:562)
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:616)
at org.Apache.catalina.startup.Bootstrap.load(Bootstrap.Java:261)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:413)
Caused by: Java.net.BindException: Address already in use
at Java.net.PlainSocketImpl.socketBind(Native Method)
at Java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.Java:336)
at Java.net.ServerSocket.bind(ServerSocket.Java:336)
at Java.net.ServerSocket.<init>(ServerSocket.Java:202)
at Java.net.ServerSocket.<init>(ServerSocket.Java:158)
at org.Apache.Tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.Java:50)
at org.Apache.Tomcat.util.net.JIoEndpoint.init(JIoEndpoint.Java:538)
... 12 more
07-Nov-2011 17:40:41 org.Apache.catalina.core.StandardService initialize
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
LifecycleException: Protocol handler initialization failed: Java.net.BindException: Address already in use <null>:8080
at org.Apache.catalina.connector.Connector.initialize(Connector.Java:1024)
at org.Apache.catalina.core.StandardService.initialize(StandardService.Java:703)
at org.Apache.catalina.core.StandardServer.initialize(StandardServer.Java:838)
at org.Apache.catalina.startup.Catalina.load(Catalina.Java:538)
at org.Apache.catalina.startup.Catalina.load(Catalina.Java:562)
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:616)
at org.Apache.catalina.startup.Bootstrap.load(Bootstrap.Java:261)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:413)
07-Nov-2011 17:40:41 org.Apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8443
07-Nov-2011 17:40:41 org.Apache.catalina.startup.Catalina load
INFO: Initialization processed in 615 ms
07-Nov-2011 17:40:41 org.Apache.catalina.core.StandardService start
INFO: Starting service Catalina
07-Nov-2011 17:40:41 org.Apache.catalina.core.StandardEngine start
INFO: Starting service Catalina
07-Nov-2011 17:40:41 org.Apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.33
07-Nov-2011 17:40:41 org.Apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor Host-manager.xml
07-Nov-2011 17:40:41 org.Apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
07-Nov-2011 17:40:41 org.Apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive test.war
log4j:WARN No appenders could be found for logger (StackTrace).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.Apache.org/log4j/1.2/faq.html#noconfig for more info.
log4j:ERROR Error initializing log4j: grails/plugins/springsecurity/SecurityConfigType : Unsupported major.minor version 51.0 (unable to load class grails.plugins.springsecurity.SecurityConfigType)
Java.lang.UnsupportedClassVersionError: grails/plugins/springsecurity/SecurityConfigType : Unsupported major.minor version 51.0 (unable to load class grails.plugins.springsecurity.SecurityConfigType)
at Java.lang.Class.forName0(Native Method)
at Java.lang.Class.forName(Class.Java:186)
at Config.class$(Config.groovy)
at Config.$get$$class$grails$plugins$springsecurity$SecurityConfigType(Config.groovy)
at Config.run(Config.groovy:116)
07-Nov-2011 17:40:43 org.Apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
07-Nov-2011 17:40:43 org.Apache.catalina.core.StandardContext start
SEVERE: Context [/test] startup failed due to previous errors
07-Nov-2011 17:40:43 org.Apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/test] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
07-Nov-2011 17:40:43 org.Apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive browser.war
07-Nov-2011 17:40:43 org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
07-Nov-2011 17:40:43 org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
07-Nov-2011 17:40:43 org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
07-Nov-2011 17:40:43 org.Apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
07-Nov-2011 17:40:43 org.Apache.coyote.http11.Http11Protocol start
SEVERE: Error starting endpoint
Java.net.BindException: Address already in use <null>:8080
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:203)
at org.Apache.catalina.connector.Connector.start(Connector.Java:1095)
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:616)
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: Address already in use
at Java.net.PlainSocketImpl.socketBind(Native Method)
at Java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.Java:336)
at Java.net.ServerSocket.bind(ServerSocket.Java:336)
at Java.net.ServerSocket.<init>(ServerSocket.Java:202)
at Java.net.ServerSocket.<init>(ServerSocket.Java:158)
at org.Apache.Tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.Java:50)
at org.Apache.Tomcat.util.net.JIoEndpoint.init(JIoEndpoint.Java:538)
... 12 more
07-Nov-2011 17:40:43 org.Apache.catalina.core.StandardService start
SEVERE: Failed to start connector [Connector[HTTP/1.1-8080]]
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: Java.net.BindException: Address already in use <null>:8080
at org.Apache.catalina.connector.Connector.start(Connector.Java:1102)
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:616)
at org.Apache.catalina.startup.Bootstrap.start(Bootstrap.Java:289)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:414)
07-Nov-2011 17:40:43 org.Apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8443
07-Nov-2011 17:40:43 org.Apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
07-Nov-2011 17:40:43 org.Apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/120 config=null
07-Nov-2011 17:40:43 org.Apache.catalina.startup.Catalina start
INFO: Server startup in 2286 ms
07-Nov-2011 17:42:14 org.Apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
07-Nov-2011 17:42:14 org.Apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
07-Nov-2011 17:42:14 org.Apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8443
07-Nov-2011 17:42:15 org.Apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
07-Nov-2011 17:42:15 org.Apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
07-Nov-2011 17:42:15 org.Apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
07-Nov-2011 17:42:15 org.Apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8443
_
_netstat -aon | grep 8080
_などのコマンドを試しました_ps -efl | grep Java
_を試し、_kill <pid> 9
_ _pkill Java
_などを使用してそのプロセスを強制終了しました...
これが_netstat -aon
_である
_Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State Timer
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 10.226.122.156:22 109.58.56.15:49215 ESTABLISHED keepalive (5354.40/0/0)
tcp 0 0 :::80 :::* LISTEN off (0.00/0/0)
tcp 0 0 :::22 :::* LISTEN off (0.00/0/0)
udp 0 0 0.0.0.0:68 0.0.0.0:* off (0.00/0/0)
udp 0 0 10.226.122.156:123 0.0.0.0:* off (0.00/0/0)
udp 0 0 127.0.0.1:123 0.0.0.0:* off (0.00/0/0)
udp 0 0 0.0.0.0:123 0.0.0.0:* off (0.00/0/0)
udp 0 0 ::1:123 :::* off (0.00/0/0)
udp 0 0 fe80::1031:3cff:fe0:123 :::* off (0.00/0/0)
udp 0 0 :::123 :::* off (0.00/0/0)
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 2337 @/tmp/fam-root-
unix 2 [ ACC ] STREAM LISTENING 409 @/com/ubuntu/upstart
unix 2 [ ] DGRAM 644 @/org/kernel/udev/udevd
unix 8 [ ] DGRAM 1513 /dev/log
unix 3 [ ] STREAM CONNECTED 38302
unix 3 [ ] STREAM CONNECTED 38301
unix 2 [ ] DGRAM 38297
unix 2 [ ] DGRAM 22149
unix 3 [ ] STREAM CONNECTED 2340 @/tmp/fam-root-
unix 3 [ ] STREAM CONNECTED 2339
unix 2 [ ] DGRAM 1998
unix 2 [ ] DGRAM 1918
unix 2 [ ] DGRAM 1895
unix 2 [ ] DGRAM 1819
unix 3 [ ] DGRAM 648
unix 3 [ ] DGRAM 647
_
何か考えやポインタ?
私も同じ問題を抱えていました。このスレッドで提案されているすべてのオプションを試しました。しかし、助けにはなりませんでした。それからちょうど走りました:
ps -awwef | grep Tomcat
いくつかの古いプロセスが実行されていることがわかりました。 (-9の代わりに-15)を使用してそれを殺しました
Sudo kill -15 <Tomcat pid from previous command>
わあ!出来た。問題なくTomcatを再起動しました。
このタイプの強制終了プロセスはリソースをシステムに残したままにするため、シグナル-9でプロセスを強制終了しないでください。リソースはサーバーの再起動後にのみ削除できます。 kill -9は、極端な緊急時にのみ使用してください。リソースをクリーンアップするのに時間がかかる可能性があるため、kill -15を使用することをお勧めしますが、プロセスが消費しているリソースセット全体を常に適切にフラッシュします。そのため、メモリに残っているリソースの一部が残っているため、Tomcatは機能していない可能性があります。そのため、再起動を実行するか、以下を見つけてください。
lsof | grep Tomcat
lsof -i TCP | grep 8080
ポート番号は$ Tomcat_HOME/conf/server.xmlで構成されます
ポート8080が使用されている場合は、server.xmlファイルで変更します。私はserver.xmlでこのように見えます
<Connector port="8085" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Lsofを実行するだけでは不十分な場合があります。このコマンドをお勧めします:
Sudo lsof -i :8080
そして、ポートを保持しているプロセス(ほとんどの場合、Tomcatの別のインスタンス)を強制終了できます。
念のため、Tomcatを起動する前にApacheを起動したため、このエラーが(初心者として)発生しました。
Apacheを停止してからTomcatを起動してからApacheを起動すると、エラーは消えました。
私もこの問題に遭遇しましたが、私の場合は、ローカルソースのアプリケーションからサーバーのアプリケーションを更新しました。上記のようなさまざまな方法で実行中のTomcatインスタンスを検索し、それらをすべて強制終了してから数回実行しましたが、使用できません。
Tomcatが適切にシャットダウンまたは起動しない理由は、アプリケーションソースのJDKバージョンです。JDK1.8でビルドしましたが、サーバーには1.7がありました。 JDK 1.7でアプリケーションを再構築した後、ローカルマシンとサーバーマシンの両方で動作させました。この情報が私のような人にも役立つことを願っています。
Netstat -aonを入力した後、8080ポートのPIDを見つけます。次に、タスクマネージャーに移動し、[プロセス]タブでPIDのイメージ名を見つけます。イメージ名を右クリックして、終了プロセスをクリックします。これで、サーバーを起動すると機能します。
サーブレットはシャットダウンするためにかなりの量の作業を行う必要がある場合があり、その結果、Tomcatもシャットダウンに時間がかかる場合があります。サーバーを再起動する前に少し待つと、問題がなくなることがあります。そうでない場合、WebアプリケーションがJVMからの終了信号に応答していない可能性があります。その場合、Tomcatは正しくシャットダウンされない可能性があります。
簡単に言えば、再起動スクリプトにスリープを追加するか、単にstartを再度呼び出す前に少し待ってください。
問題は、Tomcatが適切にシャットダウンしない可能性があることです。再起動スクリプトにスリープを追加するか、単にミントを待ってからTomcatを再起動してください。
ps -awwef | grep Tomcat
私のために働いた
いくつかの古いプロセスが実行されているのが見つかりました。 (-9の代わりに-15)を使用してそれを殺しました
最善の解決策は、次のコマンドを使用してTomcatインスタンスの実行を停止することです。
kill $(ps -aef | grep Java | grep Apache-Tomcat-7.0.47 | awk '{print $ 2}')
Tomcatバージョンで7.0.47を変更します。正常に機能し、ポート番号(8080など)は間もなくリリースされます。
私は同様の問題に直面しており、8080ポートが他のアプリケーションに使用されていることがわかりました。 Windowsでnetstat commnadを使用すると、使用中のすべてのポートが表示されます。
server.xmlファイルのコネクタポートを変更します。このファイルは、Tomcatインストールディレクトリのconfフォルダーにあります。このファイルを開き、私のように見えた:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
ポートの値を、できれば80シリーズの他のポートに変更してください。うまくいくことを願っています。