2013-01-11 37 views
8

हाय मैं ग्रहण से टॉमकैट 7 सर्वर शुरू करने में सक्षम नहीं हूं।टॉमकैट 7 सर्वर शुरू नहीं कर सकता - java.net.BindException: पता पहले से ही उपयोग में है

जब मैं ग्रहण से शुरू करता हूं तो मुझे निम्न त्रुटि लॉग मिलता है।

Jan 11, 2013 10:10:27 AM 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: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Jayant\Desktop\data\adt-bundle-windows-x86\eclipse;;. 
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Jan 11, 2013 10:10:28 AM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 1165 ms 
Jan 11, 2013 10:10:28 AM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Jan 11, 2013 10:10:28 AM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12 
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Jan 11, 2013 10:10:28 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 507 ms 
Jan 11, 2013 10:10:28 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:422) 
    at org.apache.catalina.startup.Catalina.await(Catalina.java:707) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:653) 
    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:303) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431) 

Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler pause 
INFO: Pausing ProtocolHandler ["http-bio-8080"] 
Jan 11, 2013 10:10:29 AM org.apache.coyote.AbstractProtocolHandler pause 
INFO: Pausing ProtocolHandler ["ajp-bio-8009"] 
Jan 11, 2013 10:10:30 AM org.apache.catalina.core.StandardService stopInternal 
INFO: Stopping service Catalina 
Jan 11, 2013 10:10:30 AM org.apache.coyote.AbstractProtocolHandler stop 
INFO: Stopping ProtocolHandler ["http-bio-8080"] 
Jan 11, 2013 10:10:30 AM org.apache.coyote.AbstractProtocolHandler stop 
INFO: Stopping ProtocolHandler ["ajp-bio-8009"] 

अब मुझे निम्न त्रुटि मिल रही है।

Jan 11, 2013 10:18:59 AM 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: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Jayant\Desktop\data\adt-bundle-windows-x86\eclipse;;. 
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Jan 11, 2013 10:19:00 AM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 872 ms 
Jan 11, 2013 10:19:00 AM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Jan 11, 2013 10:19:00 AM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12 
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Jan 11, 2013 10:19:00 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 535 ms 
Jan 11, 2013 10:20:13 AM org.apache.catalina.core.StandardServer await 
WARNING: StandardServer.await: Invalid command 'GET/HTTP/1.1' received 
Jan 11, 2013 10:20:19 AM org.apache.catalina.core.StandardServer await 
WARNING: StandardServer.await: Invalid command '' received 

उत्तर

8

व्यवस्थापक पोर्ट व्यवस्थापक आदेश प्राप्त करने के लिए है, और HTTP पोर्ट HTTP अनुरोध प्राप्त करने के लिए है। आपको विभिन्न बंदरगाहों का उपयोग करना होगा। क्या हुआ: HTTP कनेक्टर प्रारंभ नहीं हो सका, क्योंकि सर्वर ने पहले से ही उस बंदरगाह को खोला है। आपका ब्राउज़र/क्लाइंट/जो भी व्यवस्थापक पोर्ट को अनुरोध भेजता है, सर्वर HTTP को समझ में नहीं आता है और इस त्रुटि को लॉग करता है।

किसी अन्य बंदरगाह पर टॉमकैट को पुनर्स्थापित करने का प्रयास करें।

+0

अब मुझे निम्न त्रुटि @Neurenor मिल रही है। संपादित कोड – user1844638

+0

स्थानीय ब्राउज़र को आजमाएं: 8080 अपने ब्राउज़र में देखें। –

+0

मैंने कोशिश की कि यह http 404 त्रुटि देने योग्य नहीं है। – user1844638

3

मुझे यह समस्या हो रही थी (पोर्ट 8005 पहले से ही इस्तेमाल किया जा रहा है) और मूल कारण मेरी मशीन पर पहले से चल रहे मौजूदा टोमकैट प्रक्रिया के कारण था। तो, मुझे जो करने की ज़रूरत थी वह मूल रूप से मौजूदा प्रक्रिया को मार डाला और फिर टॉमकैट शुरू कर दिया।

0

आप क्या कर सकते हैं तो प्रक्रिया को मारने के बजाय आप टोमकैट निर्देशिका/conf/server.xml मिल सकते हैं, यहां आप शटडाउन पोर्ट (8005) को किसी अन्य बंदरगाह में बदल सकते हैं। डिफ़ॉल्ट पोर्ट (8080) और अन्य को अलग-अलग में भी बदलें। तो आप एकल मशीन पर अपने टोमकैट के कई उदाहरण चला सकते हैं। अपने सर्वर को पुनरारंभ करें (यदि अभी भी जारी रहता है) ग्रहण में इसे मनोरंजन करें।

1

सामान्य गलती आपके server.xml कॉन्फ़िगरेशन फ़ाइल में एक ही शटडाउन और कनेक्टर पोर्ट का उपयोग करना है।

<Server port="8005" shutdown="SHUTDOWN"> 
    <Connector port="8983" protocol="HTTP/1.1" 

डिफ़ॉल्ट बिलाव तक बंद आदेश के लिए पोर्ट 8005 पर सुनता है और यह हमेशा कनेक्टर बंदरगाह के लिए अलग किया जाना चाहिए:

इन बंदरगाहों अलग हो सकता है और यहां चाहिए सही उदाहरण है।

यदि आपका पोर्ट अभी भी उपयोग में है, तो क्यों खोजने के लिए sudo lsof -i:8005 आज़माएं।