CATALINA_HOME बनाम CATALINA_BASE


11

मुझे इस बात का पक्का जवाब नहीं मिल रहा है कि उबंटू CATALINA_BASEपर्यावरण चर को क्यों सेट करेगा , जिससे यह अलग होगा CATALINA_HOME। मुझे यह दस्तावेज मिला, जो बताता है कि सेटिंग नहीं के CATALINA_BASEबराबर होगा CATALINA_HOME। वह दस्तावेज़ यह भी बताता है कि CATALINA_BASEकई उदाहरण उपलब्ध कराने के लिए सेटिंग की जाएगी।

हालाँकि, मुझे ऐसा कुछ भी नहीं मिल रहा है जो यह बताता हो। संभवतः, एकल के साथ चलना CATALINA_HOMEलंबे समय से अच्छा है, लेकिन उबंटू स्विच किया गया।

मुझे यह सवाल AskUbuntu पर एक शानदार जवाब के साथ मिला है, लेकिन वहाँ विशेष रूप से CATALINA_HOMEबनाम पर नहीं है CATALINA_BASE। यही कारण है कि सवाल "appBase" पैरामीटर, जो है का उल्लेख करने करता प्रलेखित विन्यास फाइल में होस्ट कंटेनर के लिए tomcat6 दस्तावेज में।

यहाँ प्रश्न हैं: इन दो चर को अलग क्यों किया जाता है? उन्हें कब अलग किया जाना चाहिए? यह प्रशासक को क्या करने की अनुमति देता है? तब आप प्रत्येक निर्देशिका में क्या करते हैं? इन दो चर को कब होना चाहिए? एएसएफ मानक अभ्यास के लिए क्या सलाह देता है?


जवाबों:


12

इन दो चर को अलग क्यों किया जाता है?

catalina.home सामान्य जानकारी के स्थान को इंगित करता है।
catalina.base उस निर्देशिका की ओर इशारा करता है जहाँ सभी उदाहरण विशिष्ट जानकारी आयोजित की जाती हैं।

तो आपके पास 1 घर है और 1 से अधिक आधार हो सकते हैं।

उन्हें कब अलग किया जाना चाहिए? इन दो चर को कब होना चाहिए?

यदि आपके पास 1 टॉमकैट है, तो आप उन्हें उसी मूल्य पर सेट कर सकते हैं, लेकिन अच्छा अभ्यास आपको आगे की योजना बनाने और उन्हें अलग रखने का सुझाव देगा: आपको कभी नहीं पता होगा कि आपको एक से अधिक टॉमकैट की आवश्यकता है। उबंटू ने अधिक तार्किक होने के कारण सोचने के इस तरीके का अनुसरण करना शुरू किया: 2+ टोमैट्स को चलाना आसान बनाता है, लेकिन 1 टोमैकट को चलाने में अक्षम नहीं करता है, जहां दोनों को एक ही मूल्य पर सेट करने के लिए सभी को बेस वैल्यू को संपादित करने की आवश्यकता होगी। उन्हें अलग रखने के लिए अधिक समझ में आता है।

यह प्रशासक को क्या करने की अनुमति देता है?

1 से अधिक टॉमकैट को उसी समय चलाने की अनुमति दें जहां प्रत्येक टॉमकैट उदाहरण के पास अपने स्वयं के ऐप हो सकते हैं।

तब आप प्रत्येक निर्देशिका में क्या करते हैं?

घर में बिनयारी होती है।
बेस में कॉन्फिडेंस, लॉग्स, वेबएप्स, वर्क और टेम्प शामिल हैं। 1 हर टॉमकैट उदाहरण के लिए।


4

CATALINA_HOME बनाम CATALINA_BASE

यदि आप कई उदाहरण चला रहे हैं, तो आपको दोनों चर की आवश्यकता है, अन्यथा केवल CATALINA_HOME

दूसरे शब्दों में: CATALINA_HOMEआवश्यक है और CATALINA_BASEवैकल्पिक है।

CATALINA_HOME अपने Tomcat स्थापना की जड़ का प्रतिनिधित्व करता है।

वैकल्पिक रूप से, टॉमकैट को $CATALINA_BASEप्रत्येक उदाहरण के लिए परिभाषित करके कई उदाहरणों के लिए कॉन्फ़िगर किया जा सकता है । यदि कई उदाहरण कॉन्फ़िगर नहीं हैं, तो $CATALINA_BASEजैसा है वैसा ही है $CATALINA_HOME

देखें: अपाचे टॉमकट 7 - परिचय

अलग से चल रहा है CATALINA_HOMEऔर CATALINA_BASERUNNING.txt में प्रलेखित है जो कहता है:

CATALINA_HOMEऔर CATALINA_BASEवातावरण चर अपाचे बिलाव के स्थान और अपनी सक्रिय विन्यास के स्थान क्रमश: निर्दिष्ट करने के लिए उपयोग किया जाता है।

आप स्क्रिप्ट में कॉन्फ़िगर CATALINA_HOMEऔर CATALINA_BASEचर नहीं कर सकते setenv, क्योंकि उनका उपयोग उस फ़ाइल को खोजने के लिए किया जाता है।

उदाहरण के लिए:

(४.१) टॉमकैट को निम्नलिखित आदेशों में से एक को निष्पादित करके शुरू किया जा सकता है:

  %CATALINA_HOME%\bin\startup.bat         (Windows)

  $CATALINA_HOME/bin/startup.sh           (Unix)

या

  %CATALINA_HOME%\bin\catalina.bat start  (Windows)

  $CATALINA_HOME/bin/catalina.sh start    (Unix)

मल्टीपल टोमैट इंस्टैंस

कई परिस्थितियों में, एक ही सर्वर पर एक से अधिक उपयोगकर्ताओं के बीच साझा किए गए एक टोमाटेक बाइनरी वितरण की एक प्रति रखना वांछनीय है। इसे संभव बनाने के लिए, आप CATALINA_BASE पर्यावरण चर को उस निर्देशिका में सेट कर सकते हैं जिसमें आपके 'व्यक्तिगत' टोमैट उदाहरण के लिए फाइलें हैं।

जब एक अलग CATALINA_HOMEऔर के साथ चल रहा है CATALINA_BASE, फाइल और निर्देशिका निम्नानुसार विभाजित हैं:

में CATALINA_BASE:

  • bin - केवल: setenv.sh (* nix) या setenv.bat (विंडोज), tomcat-juli.jar
  • conf - सर्वर कॉन्फ़िगरेशन फ़ाइलें (server.xml सहित)
  • lib - पुस्तकालय और कक्षाएं, जैसा कि नीचे बताया गया है
  • logs - लॉग और आउटपुट फाइल
  • webapps - स्वचालित रूप से भरी हुई वेब एप्लिकेशन
  • work - वेब अनुप्रयोगों के लिए अस्थायी कार्य निर्देशिका
  • temp - अस्थायी फ़ाइलों के लिए JVM द्वारा उपयोग की जाने वाली निर्देशिका>

में CATALINA_HOME:

  • bin - स्टार्टअप और शटडाउन स्क्रिप्ट
  • lib - पुस्तकालय और कक्षाएं, जैसा कि नीचे बताया गया है
  • endorsed- मानक "समर्थन मानकों" को ओवरराइड करने वाले पुस्तकालय। डिफ़ॉल्ट रूप से यह अनुपस्थित है।

किस प्रकार जांच करें

उदाहरण के लिए, आपके पास क्या है CATALINA_BASEऔर CATALINA_HOMEचल रहा है startup.sh, यह जांचने का सबसे आसान तरीका है :

$ /usr/share/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7

आप यह भी देख सकते हैं dpkgकि नीचे की ओर जहां टूलकिट फाइलें स्थापित की गई हैं, नीचे दिए गए उपकरण (डेबियन / उबंटू):

dpkg -L tomcat7-common

3

दो tomcat उदाहरण चलाने के लिए सबसे अच्छा तरीका होने के अलावा, यह अद्यतन करना आसान बनाता है।

मैं इस सेटअप का उपयोग कर रहा हूं।

<!-- language: bash -->

/opt/apache-tomcat-7.0-32
/opt/apache-tomcat-7.0.39
/opt/apache-tomcat-7       (simbolic link to apache-tomcat-7.0.32)

CATALINA_HOME = / opt / अपाचे-बिल्ला-7

/srv/user_deploys/tomcat_product_a
/srv/user_deploys/tomcat_product_b

CATALINA_BASE एक या किसी अन्य परिनियोजित निर्देशिका को इंगित करता है।

बेसिक बायनेरीज़ और लाइब्रेरीज़ /opt/बस कॉपी पर हैं server.xml, web.xml(और कुछ अन्य फाइलें, डॉक्स पढ़ें, कृपया) और डायरेक्टरीज़ बिन, लॉग्स, वेबैप्स, टेम्प, वर्क (आरटीएलएम, एल लवली के रूप में, कृपया) बनाएँ।

आप CATALINA_HOMEप्रत्येक उदाहरण के लिए $ CATALINA_BASE / bin / setenv.sh फ़ाइल को संशोधित करके टॉमकैट बायनेरिज़ को अपडेट कर सकते हैं, या आप केवल बायनेरी को "विश्व स्तर पर" अपडेट करते हुए प्रतीकात्मक लिंक को संशोधित कर सकते हैं।

यदि आपके पास सिर्फ एक उदाहरण है तो भी अपडेट करना आसान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.