私はsshを介してLinux x64マシンにSun jdk 1.6 x64とTomcatをインストールしましたが、root権限がないため、両方をホームディレクトリにインストールしました。
Tomcatを正常に実行できましたが、mydomain.com:8080を入力しようとすると、サーバーからの応答がありません。
このコマンドで:
netstat -atnp|grep LISTEN
私はポートをチェックし、それは聞いています
Dec 18, 2011 5:11:20 PM 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: /home2/fiegmund/jdk1.6.0_25/jre/lib/AMD64/server:/home2/fiegmund/jdk1.6.0_25/jre/lib/AMD64:/home2/fiegmund/jdk1.6.0_25/jre/../lib/AMD64:/usr/Java/packages/lib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib
Dec 18, 2011 5:11:21 PM org.Apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Dec 18, 2011 5:11:21 PM org.Apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Dec 18, 2011 5:11:21 PM org.Apache.catalina.startup.Catalina load
INFO: Initialization processed in 2015 ms
Dec 18, 2011 5:11:21 PM org.Apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Dec 18, 2011 5:11:21 PM org.Apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
Dec 18, 2011 5:11:21 PM org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/Apache-Tomcat-7.0.23/webapps/docs
Dec 18, 2011 5:11:24 PM org.Apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [1,869] milliseconds.
Dec 18, 2011 5:11:24 PM org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/Apache-Tomcat-7.0.23/webapps/manager
Dec 18, 2011 5:11:24 PM org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/Apache-Tomcat-7.0.23/webapps/ROOT
Dec 18, 2011 5:11:24 PM org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/Apache-Tomcat-7.0.23/webapps/examples
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/core is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/sql_rt is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jsp/jstl/sql is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/core_rt is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jsp/jstl/core is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jsp/jstl/functions is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/fmt is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.Apache.org/taglibs/standard/permittedTaglibs is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/xml is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.Apache.org/taglibs/standard/scriptfree is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/fmt_rt is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jsp/jstl/fmt is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jsp/jstl/xml is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/xml_rt is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://Java.Sun.com/jstl/sql is already defined
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/Apache-Tomcat-7.0.23/webapps/Host-manager
Dec 18, 2011 5:11:25 PM org.Apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Dec 18, 2011 5:11:25 PM org.Apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 18, 2011 5:11:25 PM org.Apache.catalina.startup.Catalina start
INFO: Server startup in 4582 ms>
問題は何ですか?
私が書いた恐ろしい英語を前もって感謝し、申し訳ありません。
最初のステップは、ローカルにログインしたときにtelnet localhost 8080を実行することです。次に、次のように入力します
GET /
そしてHTMLを取り戻す必要があります。それが機能しない場合、Tomcatは実際には適切に実行されていないか、ポート8080でリッスンしていません。それが機能する場合は、外部から試行する場合は、正しいIPアドレスがあることを確認してください。最初にIPアドレスで試してください。 IPアドレスが機能する場合、おそらくmydomain.comはそれを解決しません。 ipが正しく(sshを実行しているのと同じ)、それでも機能しない場合は、おそらく8080の通過を許可しないファイアウォールを実行しています。ファイアウォール構成を変更するには、rootアクセスが必要です。
私にとっての問題は、TomcatがIPv6のみをリッスンし始めたことでした。他の誰かが同じことを見つけた場合に備えて、ここに配置します。
私は適切な応答を得ることができました
curl -g -6 "http://[::1]:8080/"
しかし、localhostではできません。これを修正するには、conf/server.xmlの削除address
属性を使用します。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
address="0.0.0.0" />
そして再起動し、再びIPv4にバインドしました。私はそれが逆でなければならないことを知っていますが、これが私のためにそれを修正したものでした。 OSはUbuntuでした。
Linux端末で次のコマンドを使用してリストを表示してみます。LISTENTCPアドレスとポートの詳細とプログラム名
netstat -ltnpa | grep -i --colour LISTEN
さらに、ファイアウォールがオンまたはオフになっていることを確認する必要があります。 (ほとんどの場合、電源がオンになっていて、Linuxのiptablesによってブロックされている特定のデフォルトのTomcat 8080ポートをブロックしている可能性があります)
CentOでは、ファイアウォールを手動で開く必要がありました
Sudo firewall-cmd --zone=public --add-port=7999/tcp --permanent
Sudo firewall-cmd --reload
方法はわかりませんが、Dockerが同じポートでコンテナーを実行している場合は、ファイアウォールが自動的に開かれるため、私をスローしてしまいました
デプロイされたアプリケーションの1つが初期化するには遅すぎる場合、Tomcatは起動が遅すぎる可能性があります。これは、Tomcatを起動したが、ポートが(telnetで接続することによって)待機していることが確認できても、サーバーが応答していないことを示していることがわかります。また、CPU使用率が高すぎる可能性があることにも注意してください。私の場合は、ロガーでTRACEモードを有効にしていたためです。
次のコマンドを実行して、サーバーのステータスを確認できます。
*`lsof -i :8080`*
Warデプロイメントの場合、warファイルにエラーがあると、Tomcatはwarファイルを抽出できない場合があります。 warファイルと同じ名前のフォルダーがTomcat // libexec/webappsに作成されていることを確認してください。そうしないと、localhost:8080がスタックします。
IDEを閉じます。 Windowsシステムを使用している場合は、プロセスJava.exeを再起動します。そしてIDEを起動します。