টমক্যাট - CATALINA_BASE এবং ক্যাটালিনহোম ভেরিয়েবল


100

আমার কাছে একই সার্ভারে (লিনাক্স) টমক্যাট 6 চলার একাধিক উদাহরণ রয়েছে এবং এটি প্রত্যাশার মতো কাজ করে। আমি CATALINA_HOMEএবং CATALINA_BASEভেরিয়েবলগুলি সেট করার ক্ষেত্রে মানক অনুশীলনটি কী তা অনুসন্ধান করার চেষ্টা করছি ।

আমার হুল বিড়াল ইনস্টলেশন, আমি সেটআপ আছে CATALINA_HOMEএকটি "সাধারণ" ফোল্ডারে (বলুন নির্দেশ করার জন্য /tomcat6) এবং CATALINA_BASEপরিবর্তনশীল উদাহরণস্বরূপ নামের উপর নির্ভর করে পরিবর্তিত হয় (বলুন /tomcat_instance1, /tomcat_instance2)

আমার প্রশ্নটি হ'ল:

  • আমার কি সত্যিই দুটি পরিবর্তনশীল দরকার?
  • বা আমি কি কেবল একটি পেতে পারি CATALINA_HOMEএবং CATALINA_BASE(বা তদ্বিপরীত) থেকে দূরে থাকতে পারি ?

4
প্রশ্ন নিজেই সত্যিই একটি উত্তর।
Koray Tugay

4
টমক্যাট সফ্টওয়্যার (যা বাস করে $CATALINA_HOME) টমকেট উদাহরণ কনফিগারেশন এবং সামগ্রী (যা বাস করে $CATALINA_BASE) রক্ষণাবেক্ষণ থেকে আলাদা করার জন্য আপনার এটি করার দরকার ।
পুনরায় পোস্টার

উত্তর:


109

আপনি যদি কোনও একক হোস্টে টমক্যাটের একাধিক ঘটনা চালাচ্ছেন তবে প্রতিটি দৃষ্টান্তের জন্য যথাযথ হিসাবে আপনার ডিরেক্টরি বা ডিরেক্টরিতে CATALINA_BASEসমান হতে হবে এবং সাধারণ টোম্যাট ইনস্টলের সাথে পরিবেশের পরিবর্তনশীল যার ফাইলগুলি দুটি উদাহরণের মধ্যে ভাগ করা হবে।.../tomcat_instance1.../tomcat_instance2CATALINA_HOME

CATALINA_BASEপরিবেশ ঐচ্ছিক আপনি হোস্ট একটি একক হুল বিড়াল উদাহরণস্বরূপ দৌড়াচ্ছে এবং ডিফল্ট করবে যদি CATALINA_HOMEযে ক্ষেত্রে। আপনি যেমন একাধিক উদাহরণ চালাচ্ছেন তা সরবরাহ করা উচিত।

অ্যাডভান্সড কনফিগারেশন - একাধিক টোমকেট দৃষ্টান্তRUNNING.txt শিরোনামের অধীনে অ্যাপাচি টমক্যাট বিতরণের মূলের ফাইলে এই সেটআপটির একটি দুর্দান্ত বর্ণনা রয়েছে Multi


4
উবুন্টুতে প্যাকেজড টমক্যাটটি ব্যবহার করার সময় আপনার দ্বিতীয় অনুচ্ছেদটি ভুল। এটি টমক্যাট সফ্টওয়্যারটিকে ($ ক্যাটালিনহোমে) সঠিকভাবে টমক্যাট উদাহরণ ($ ক্যাটালিন_বিএসএ) থেকে পৃথক করে।
রিইনারপোস্ট

88

CATALINA_HOME বনাম CATALINA_BASE

আপনি একাধিক দৃষ্টান্ত চালাচ্ছেন, তাহলে আপনি উভয় ভেরিয়েবল অন্যথায় শুধুমাত্র প্রয়োজন, CATALINA_HOME

অন্য কথায়: CATALINA_HOMEপ্রয়োজনীয় এবং CATALINA_BASEisচ্ছিক।

CATALINA_HOME আপনার টমক্যাট ইনস্টলেশনটির মূলকে উপস্থাপন করে।

Allyচ্ছিকভাবে, টমকেট $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 (* নিক্স) বা setenv.bat (উইন্ডোজ), টমক্যাট-জুলি.জার
  • conf - সার্ভার কনফিগারেশন ফাইল (সার্ভার.এক্সএমএল সহ)
  • lib - গ্রন্থাগারগুলি এবং ক্লাসগুলি, নীচে ব্যাখ্যা করা হয়েছে
  • logs - লগ এবং আউটপুট ফাইল
  • webapps - স্বয়ংক্রিয়ভাবে ওয়েব অ্যাপ্লিকেশন লোড করা
  • work - ওয়েব অ্যাপ্লিকেশনগুলির জন্য অস্থায়ী ওয়ার্কিং ডিরেক্টরি
  • temp - অস্থায়ী ফাইলগুলির জন্য জেভিএম দ্বারা ব্যবহৃত ডিরেক্টরি>

ইন 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

8
এটি গৃহীত উত্তরগুলির চেয়ে আরও ভাল উত্তর। খুব ভাল ব্যাখ্যা করা হয়েছে।
সিঙ্কডিকে

দয়া করে ব্যাখ্যা করুন কীভাবে একাধিক টোমক্যাট দৃষ্টান্ত বিভিন্ন ক্যাটালিন_বিএএসএস দিয়ে শুরু করবেন?
চিহ্নিত করুন

উইন্ডোজ: সেট CATALINA_BASE = পথ CATALINA_BASE এবং CATALINA_HOME সিস্টেম ভেরিয়েবল হিসাবে সেট করা আবশ্যক
মার্ক

11

আমি বলতে পারি না আমি সেরা অনুশীলন জানি, তবে এখানে আমার দৃষ্টিভঙ্গি রয়েছে।

আপনি কি এই ভেরিয়েবলগুলি কোনও কিছুর জন্য ব্যবহার করছেন?

ব্যক্তিগতভাবে, লিনাক্স বা উইন্ডোজে, বিকাশ থেকে উত্পাদনের পরিবর্তিত পরিবেশে আমার কোনও পরিবর্তন করার দরকার নেই। আপনি যদি এমন কোনও কিছু না করে যা তাদের উপর নির্ভর করে, সম্ভাবনা থাকে আপনি এগুলি একা রেখে যেতে পারেন।

catalina.shটমক্যাটকে বাক্সের বাইরে কাজ করার দরকার রয়েছে তা সেট করে sets এটি says CATALINA_BASEচ্ছিক এটিও বলে :

#   CATALINA_HOME   May point at your Catalina "build" directory.
#
#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
#                   of a Catalina installation.  If not present, resolves to
#                   the same directory that CATALINA_HOME points to.

আমি নিশ্চিত যে আপনি যখন সার্ভারটি শুরু করবেন তখন আপনার সেটআপটি কাজ করে কিনা তা আপনি খুঁজে পাবেন।


টমক্যাটের উভয় দৃষ্টান্তের জন্য catalina_homeআপনি \bin\catalina.shফাইলটিতে পথ নির্ধারণ করতে পারবেন ??
গিরি

8

নির্দেশক CATALINA_BASEএকটি ভিন্ন ডিরেক্টরিতে থেকে CATALINA_HOMEআপনি বাইনেরিতে ডিরেক্টরি থেকে কনফিগারেশন ডিরেক্টরি আলাদা করতে পারেন।

ডিফল্টরূপে CATALINA_BASE(কনফিগারেশন) এবং CATALINA_HOME(বাইনারি) একই ফোল্ডারে নির্দেশ করে তবে বাইনারিগুলি থেকে কনফিগারেশনগুলি পৃথক করা আপনাকে বাইনারিগুলি সদৃশ না করে টমকেটের একাধিক ঘটনা চালিয়ে যেতে সহায়তা করতে পারে।

টমকেটের জন্য আপনার কনফিগারেশন ফাইলগুলিকে ব্যাকআপ / পুনরুদ্ধার করার প্রয়োজন নেই, আপনি বাইনারিগুলি আপডেট করতে চাইলে এটি কার্যকর হয়।

আপডেট 2018

makebaseইউটিলিটি সহ এখন CATLINA_BASE সেট করার একটি সহজ উপায় রয়েছে । Https://youtu.be এ একটি ভিডিও টিউটোরিয়াল সহ আমি একটি টিউটোরিয়াল পোস্ট করেছি যা এই বিষয়টিকে কভার করে http://blog.rasia.io/blog/how-to-easily-setup-lucee-in-tomcat.html / nuugoG5c-7M

মূল উত্তর নীচে অবিরত

এই বৈশিষ্ট্যটির সুবিধা নিতে, কনফিগারেশন ডিরেক্টরিটি তৈরি করুন এবং CATALINA_BASEপরিবেশের পরিবর্তনশীল সহ এটিতে নির্দেশ করুন । আপনাকে সেই ডিরেক্টরিতে কিছু ফাইল রাখতে হবে:

  • confমূল টমকেট ইনস্টলেশন ডিরেক্টরি থেকে এর বিষয়বস্তু সহ কপিরাইটটি অনুলিপি করুন এবং নিশ্চিত করুন যে টমক্যাটের এতে অনুমতি রয়েছে। আপনার প্রয়োজন অনুসারে কনফিগারেশন ফাইলগুলি সম্পাদনা করুন।
  • logsযদি conf/logging.propertiesনির্দেশ করে তবে একটি ডিরেক্টরি তৈরি করুন ${catalina.base}/logsএবং নিশ্চিত করুন যে টমক্যাটের এতে / পড়ার অনুমতি রয়েছে।
  • tempআপনি যদি ডিফল্টটিকে $CATALINA_TMPDIRকোন দিকে নির্দেশ করেন না সেদিকে লক্ষ্য না রেখে একটি ডিরেক্টরি তৈরি করুন ${CATALINA_BASE}/tempএবং টমক্যাটকে এতে লেখার অনুমতি রয়েছে কিনা তা নিশ্চিত করুন।
  • একটি workডিরেক্টরি তৈরি করুন যা ডিফল্ট হয়েছে ${CATALINA_BASE}/workএবং তা নিশ্চিত করুন যে টমক্যাটের এতে লেখার অনুমতি রয়েছে।

2

ক্যাটালিন_বিএএসই .চ্ছিক।

যাইহোক, নিম্নলিখিত পরিস্থিতিতে এটি ক্যাটালিন_এইচএসই সেটআপ করতে সহায়তা করে যা ক্যাটালিনহোম থেকে পৃথক।

  1. যখন একই হোস্টে টমক্যাটের 1 টিরও বেশি উদাহরণ চলছে

    • এটি পৃথক পোর্টে একাধিক ক্যাটালিন_বিএএসই সার্ভার কনফিগারেশন সহ টমক্যাট ইনস্টলেশনটির 1 টি রানটাইম পেতে সহায়তা করে।
    • যদি কোনও প্যাচিং, বা সংস্করণ আপগ্রেডের প্রয়োজন হয় তবে কেবল 1 টি ইনস্টলেশন পরিবর্তন প্রয়োজন, বা পরীক্ষিত / যাচাই / সাইন-অফ করা দরকার।
  2. উদ্বেগের বিচ্ছেদ (একক দায়িত্ব)

    • টমক্যাট রানটাইম মানসম্পন্ন এবং প্রতিটি প্রকাশের প্রক্রিয়া চলাকালীন পরিবর্তিত হয় না। অর্থাত্ টমকেট বাইনারি
    • রিলিজ প্রক্রিয়া ওয়েব অ্যাপ্লিকেশন (ওয়েব অ্যাপস ফোল্ডার), পরিবেশ কনফিগারেশন (কনফার্ট ডিরেক্টরি), লগ / অস্থায়ী / কাজের ডিরেক্টরি হিসাবে আরও স্টাফ যুক্ত করতে পারে

-5

এটি বিনের মূল ফোল্ডার যা এতে tomcat.exe ফাইল রয়েছে:

CATALINA_HOME='C:\Program Files\Apache Software Foundation\Tomcat 6.0'

CATALINA_BASEহিসাবে একই CATALINA_HOME


4
আপনার উত্তর বিভ্রান্তিমূলক ... সঠিক উত্তরটি হওয়া উচিত যদি একাধিক উদাহরণ কনফিগার করা না থাকে তবে ডকুমেন্টেশন অনুসারে
এডি বি

4
আপনি যখন রুট দৃষ্টান্তটি চালান কেবল তখনই ক্যাটালিন_বিএএসএই ক্যাটালিনহোমের সমান। যখন আপনার একাধিক উদাহরণ রয়েছে তখন এটি আলাদা হবে।
স্প্ল্যাচ

4
আমি বলব যে আপনার কেবলমাত্র একটি উদাহরণ থাকলেও ক্যাটালিন_বিএএসএ এবং ক্যাটালিনা হোম আলাদা হওয়া উচিত। এইভাবে আপনার সামগ্রীটি আপনার ইনস্টলেশন থেকে পৃথক। উদাহরণস্বরূপ, / ইউএসআর / শেয়ার /
টমক্যাটে ক্যাটালিনহোম এবং ক্যাটালিন_বিএএসই

না মাল্টি-ইনস্ট্যান্সের জন্য এটি একই হতে পারে তবে একই হতে পারে না।
অ্যান্ড্রে রেজেন্টভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.