我有2個Tomcat服務器在不同的目錄D和E.我想同時啓動這些服務器。如何同時從不同目錄正確啓動2個Tomcat服務器?
我做了什麼:
一號方法:
1)通過閱讀,我發現改變端口號,我做的tomcat的不同位點。
2)在我的Catalina_Home文件夾中,我的路徑值爲CATALINA_HOME = D:\ tomcat \ apache-tomcat-7.0.70。
當我從驅動器啓動Tomcat EI得到一個錯誤的驅動器E的Tomcat的是
INFO: Server startup in 105794 ms
Aug 22, 2016 10:37:29 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:444)
at org.apache.catalina.startup.Catalina.await(Catalina.java:781)
at org.apache.catalina.startup.Catalina.start(Catalina.java:727)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
Aug 22, 2016 10:37:29 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-apr-8080"]
Aug 22, 2016 10:37:29 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-apr-8009"]
Aug 22, 2016 10:37:29 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Aug 22, 2016 10:37:29 AM org.apache.catalina.loader.WebappClassLoaderBase clear ReferencesThreads
SEVERE: The web application [/Subs_Engine] appears to have started a thread name
d [Abandoned connection cleanup thread] but has failed to stop it. This is very
likely to create a memory
第二個方法:
至於說我嘗試了以下事情cmdPrompt在E驅動,定義的tomcat
第三屆方法:
一)端口號我verified.They都是在服務器的每個目錄不同。
b)我打開了startup.bat,並用CATALINA_HOME_E替換了CATALINA_HOME。
c)我已經將系統和用戶定義的環境變量中的CATALINA_HOME_E設置爲E:\ apache-tomcat-7.0.70。
而在系統變量中,我添加的路徑變量是%CATALINA_HOME_E%\ lib;
現在tomcat的開始了,但我得到的錯誤:
INFO: Server startup in 105794 ms
Aug 22, 2016 10:37:29 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:444)
at org.apache.catalina.startup.Catalina.await(Catalina.java:781)
at org.apache.catalina.startup.Catalina.start(Catalina.java:727)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
我看到這個錯誤的原因是Tomcat的我是從E盤開始從d驅動器啓動。 我看到了端口上運行的Tomcat是7080的HTTP使用> netstat -ano | find「:7080」
我沒有找到任何正在運行的東西。 所以,我配置了錯誤的路徑設置。
Am I doing it right for this approach?
Can anyone guide me why how to correct this?
堆棧跟蹤中提到的港口衝突。你可以檢查8085是否可用端口?是路徑中的Tomcat啓動服務器腳本?如果是的話,哪一個被拿起?可能是在啓動Tomcat的啓動服務器的命令行中設置路徑並嘗試再次執行以避免衝突是一個好主意? –
你必須改變配置,使每個tomcat監聽不同的端口。不在線的http,但暴露在TCP端口上的所有其他服務。 –
@RamachandranGA 8085或8080是一個可用的端口? – user6389648