2012-05-22 17 views
35

वर्तमान में मैं पोर्ट 80 पर सिंगल वॉर एप्लिकेशन के साथ एकल टोमकैट चलाता हूं। डोमेन नाम www.foo.org इस सर्वर आईपी की ओर इशारा किया गया है।टोमकैट और एकाधिक डोमेन/एप्लिकेशन

पोर्ट 80 पर किसी भिन्न ग्राहक के लिए www.bar.org डोमेन जोड़ने की प्रक्रिया क्या है?

धन्यवाद

उत्तर

44

शुरुआत से आप उदाहरण के लिए एक एकल "होस्ट" अपने conf/server.xml में के लिए localhost

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 
     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
       prefix="localhost_access_log." suffix=".txt" 
       pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
</Host> 

अब आप एक और "होस्ट" रिकॉर्ड में जोड़ सकते हैं रिकॉर्ड है,

<Host name="anotherclient.com" appBase="anotherclient" unpackWARs="true" autoDeploy="true"> 

     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
      prefix="anotherclient_access_log." suffix=".txt" 
      pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
    </Host> 

जहां name="anotherclient.com" नया ग्राहक का डोमेन है, और appBase="anotherclient" है इसकी वेब एप्लिकेशन रूट निर्देशिका नाम (जहां आप अपना युद्ध तैनात करते हैं); यह टोमकैट घर डीआईआर के सापेक्ष है।

टॉमकैट पुनरारंभ होने के बाद परिवर्तन स्वीकार किए जाएंगे।

किसी अन्य डोमेन (server.xml में सूचीबद्ध नहीं) के लिए जा रहा है, लेकिन अपने सर्वर का IP पता की ओर इशारा करते अनुरोध डिफ़ॉल्ट अनुप्रयोग को दे दिया जाएगा, यह Engine तत्व

<Engine name="Catalina" defaultHost="localhost"> 
+5

क्या इसका मतलब यह है कि युद्ध मूल foo.org साइट के लिए '/ opt/tomcat/webapps/ROOT.war' पर हैं, और फिर नई bar.org साइट के लिए '/ opt/tomcat/anotherclient/ROOT.war' ? – CodeMed

+1

@CodeMed हाँ, यह सही है। मैंने अभी यह कोशिश की और डब्ल्यूएआर डालने की तरह मेरे लिए काम करना प्रतीत होता है। –

+1

हमें उस निर्देशिका को अन्य क्लाइंट बनाना है या यह tomcat7 – dollar

3

आमतौर पर आप पोर्ट 80 से अलग (8080 या 7001 या कुछ भी आप चाहते हैं की तरह) पर एक बिल्ला (या अन्य अनुप्रयोग सर्वर) है। इसके बाद आप पोर्ट 80 पर एक वेब सर्वर (जैसे अपाचे http सर्वर) डालते हैं और अलग-अलग पते के साथ विभिन्न एप्लिकेशन सर्वर पर विभिन्न पोर्ट को इंगित करने के लिए एक या कई कनेक्टर कॉन्फ़िगर करते हैं।

के लिए अपाचे HTTP + बिल्ला आप इस लिंक पर एक नज़र ले जा सकते हैं:

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

+2

में निर्दिष्ट किया जाता वहाँ करने के लिए कोई विशेष कारण है ओपी के पर्यावरण में एक और उत्पाद जोड़ें: इस समस्या को अकेले टॉमकैट का उपयोग करके हल किया जा सकता है। –

+1

वेब और एप्लिकेशन सर्वर रखने के लिए पेशेवर वातावरण में यह सबसे अच्छा अभ्यास है। – Guaido79

+3

मालर्की: टॉमकैट एक पूरी तरह से स्वीकार्य वेब सर्वर है। कुछ "सर्वोत्तम अभ्यास" कहकर इसे सबसे अच्छा अभ्यास नहीं होता है। यह एक/आम/अभ्यास है, लेकिन निश्चित रूप से एक "सर्वश्रेष्ठ" अभ्यास नहीं है। –

5

उसके डिफ़ॉल्ट विन्यास में, बिलाव किसी भी होस्ट नाम के लिए अनुरोध स्वीकार करता है और उन सब को "स्थानीय होस्ट" < होस्ट > के लिए भेजता है conf/server.xml में परिभाषित किया गया है। यदि आपने इसे नहीं बदला है, तो आपको बस इतना करना है कि आपके सर्वर पर इंगित करने के लिए दोनों होस्ट नामों के लिए आपके पास DNS रिकॉर्ड्स सेट हैं।

यदि आप प्रत्येक होस्टनाम के लिए वेबपैप्स का एक अलग सेट रखना चाहते हैं, तो आपको conf/server.xml में दूसरे < होस्ट > को परिभाषित करना होगा और इसके लिए उपयुक्त होस्टनाम का उपयोग करना होगा। (ध्यान दें कि आपको हमेशा "डिफ़ॉल्ट" होस्ट होना होगा जहां सभी अनुरोधों को जाना है जो किसी स्पष्ट रूप से परिभाषित होस्ट से मेल नहीं खाते हैं)। http://tomcat.apache.org/tomcat-7.0-doc/config/host.html (यह बिलाव 7.0.x. के लिए के कारण आपको अपना संस्करण का उल्लेख नहीं था तो मैं आप नवीनतम संस्करण के दस्तावेज़ के लिए एक लिंक दे दी है):

आप < होस्ट > यहाँ के लिए दस्तावेज़ पढ़ सकते हैं।

+0

धन्यवाद - इसका संस्करण 7, डब्ल्यूएआर फाइलों के बारे में क्या? प्रत्येक ग्राहक को एक अलग तैनाती की आवश्यकता है? – user648026

+1

@ user648026 प्रत्येक अपना ऐपबेस प्राप्त करता है, ताकि आप अपनी WAR फ़ाइलों को या तो दोनों में डाल सकें। किसी का चयन करने से वह WAR फ़ाइल केवल के होस्टनाम का उपयोग करके पहुंच योग्य हो जाएगी, जबकि WAR फ़ाइल को दोनों तरीकों से डालने के दौरान आपके पास एक ही कंटेनर में एक साथ चल रहे वेबपैप की दो प्रतियां होंगी: एक मेजबान के लिए, और एक दूसरे के लिए । –

+0

तो पोर्ट 80 पर चलने वाला एकल टॉमकैट एकाधिक "होस्ट" कॉन्फ़िगरेशन का उपयोग करके एकल पोर्ट के साथ एक ही पोर्ट (80) पर एकाधिक होस्ट को संभाल सकता है। – user648026

संबंधित मुद्दे