CATALINA_HOME vs. CATALINA_BASE

11

Saya tidak dapat menemukan jawaban pasti mengapa Ubuntu akan mengatur CATALINA_BASEvariabel lingkungan, membuatnya berbeda dari CATALINA_HOME. Saya menemukan dokumen ini yang menunjukkan bahwa pengaturan tidak CATALINA_BASEakan membuatnya setara dengan CATALINA_HOME. Dokumen itu juga menunjukkan bahwa pengaturan CATALINA_BASEakan dilakukan untuk membuat beberapa instance tersedia.

Namun, sepertinya saya tidak dapat menemukan apa pun yang menjelaskan hal ini. Agaknya, berjalan dengan single CATALINA_HOMEsudah bagus untuk waktu yang lama, tetapi Ubuntu beralih.

Saya menemukan pertanyaan ini dengan jawaban yang mencerahkan pada AskUbuntu tapi ada tidak banyak secara khusus pada CATALINA_HOMEvs CATALINA_BASE. Pertanyaan itu menyinggung parameter "appBase", yang didokumentasikan dalam dokumentasi Tomcat6 untuk wadah Host di file konfigurasi.

Inilah pertanyaannya: Mengapa kedua variabel ini terpisah? Kapan mereka harus dipisahkan? Apa yang diizinkan oleh administrator untuk dilakukan? Lalu apa yang Anda tempatkan di setiap direktori? Kapan kedua variabel ini harus sama? Apa yang direkomendasikan ASF untuk praktik standar?

Mei
sumber
Serupa: askubuntu.com/q/43226/256002
Basil Bourque

Jawaban:

12

Mengapa kedua variabel ini terpisah?

catalina.home menunjuk ke lokasi informasi umum.
catalina.base menunjuk ke direktori di mana semua informasi spesifik instance disimpan.

Jadi, Anda memiliki 1 rumah dan dapat memiliki lebih dari 1 basis.

Kapan mereka harus dipisahkan? Kapan kedua variabel ini harus sama?

Jika Anda memiliki 1 kucing jantan, Anda dapat mengaturnya dengan nilai yang sama tetapi praktik yang baik akan menyarankan Anda merencanakan terlebih dahulu dan memisahkannya: Anda tidak pernah tahu jika Anda membutuhkan lebih dari satu kucing jantan. Ubuntu mulai mengikuti cara berpikir ini karena lebih logis: membuatnya lebih mudah untuk menjalankan 2+ kucing jantan tetapi tidak menonaktifkan menjalankan 1 kucing jantan di mana pengaturan keduanya ke nilai yang sama akan mengharuskan semua orang untuk mengedit nilai dasar. Lebih masuk akal untuk membuatnya berbeda.

Apa yang diizinkan oleh administrator untuk dilakukan?

Izinkan lebih dari 1 tomcat berjalan pada saat yang sama di mana setiap instance tomcat dapat memiliki aplikasi sendiri.

Lalu apa yang Anda tempatkan di setiap direktori?

Rumah berisi binairy.
Base berisi conf, log, aplikasi web, work dan temp. 1 untuk setiap instance kucing jantan.

Rinzwind
sumber
4

CATALINA_HOME vs. CATALINA_BASE

Jika Anda menjalankan beberapa instance, maka Anda hanya membutuhkan kedua variabel, jika tidak, hanya CATALINA_HOME.

Dengan kata lain: CATALINA_HOMEwajib dan CATALINA_BASEopsional.

CATALINA_HOME mewakili akar dari instalasi Tomcat Anda.

Secara opsional, Tomcat dapat dikonfigurasi untuk beberapa instance dengan menetapkan $CATALINA_BASEuntuk setiap instance. Jika beberapa instance tidak dikonfigurasi, $CATALINA_BASEsama dengan $CATALINA_HOME.

Lihat: Apache Tomcat 7 - Pendahuluan

Berjalan dengan terpisah CATALINA_HOMEdan CATALINA_BASEdidokumentasikan dalam RUNNING.txt yang mengatakan:

The CATALINA_HOMEdan CATALINA_BASElingkungan variabel yang digunakan untuk menentukan lokasi Apache Tomcat dan lokasi konfigurasi aktif, masing-masing.

Anda tidak dapat mengonfigurasi CATALINA_HOMEdan CATALINA_BASEvariabel dalam setenvskrip, karena mereka digunakan untuk menemukan file itu.

Sebagai contoh:

(4.1) Tomcat dapat dimulai dengan menjalankan salah satu dari perintah berikut:

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

  $CATALINA_HOME/bin/startup.sh           (Unix)

atau

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

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

Beberapa Contoh Tomcat

Dalam banyak keadaan, diinginkan untuk memiliki satu salinan distribusi biner Tomcat yang dibagikan di antara banyak pengguna di server yang sama. Untuk memungkinkan ini, Anda dapat mengatur CATALINA_BASE variabel lingkungan ke direktori yang berisi file untuk instance Tomcat 'pribadi' Anda.

Saat dijalankan dengan terpisah CATALINA_HOMEdan CATALINA_BASE, file dan direktori dibagi sebagai berikut:

Dalam CATALINA_BASE:

  • bin - Hanya: setenv.sh (* nix) atau setenv.bat (Windows), tomcat-juli.jar
  • conf - File konfigurasi server (termasuk server.xml)
  • lib - Perpustakaan dan kelas, seperti yang dijelaskan di bawah ini
  • logs - Log dan output file
  • webapps - Aplikasi web yang dimuat secara otomatis
  • work - Direktori kerja sementara untuk aplikasi web
  • temp - Direktori yang digunakan oleh JVM untuk file sementara>

Dalam CATALINA_HOME:

  • bin - Skrip startup dan shutdown
  • lib - Perpustakaan dan kelas, seperti yang dijelaskan di bawah ini
  • endorsed- Perpustakaan yang mengesampingkan standar "Standar yang Didukung". Secara default tidak ada.

Cara memeriksa

Cara termudah untuk memeriksa apa milik Anda CATALINA_BASEdan CATALINA_HOMEdengan menjalankan startup.sh, misalnya:

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

Anda juga dapat memeriksa di mana file Tomcat diinstal, dengan dpkgalat seperti di bawah ini (Debian / Ubuntu):

dpkg -L tomcat7-common
kenorb
sumber
3

Selain menjadi cara terbaik untuk menjalankan dua instance kucing jantan, membuat pembaruan menjadi lebih mudah.

Saya menggunakan pengaturan ini.

<!-- 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 / apache-tomcat-7

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

CATALINA_BASE menunjuk ke satu atau beberapa direktori penyebaran.

Binari dan pustaka dasar ada di /opt/Just copy server.xml, web.xml(dan beberapa file lainnya, silakan baca dokumennya), dan buat direktori bin, log, aplikasi web, temp, work (RTLM, L as lovelly, please)

Anda dapat memperbarui tomcat binari, dengan memodifikasi CATALINA_HOMEfile $ CATALINA_BASE / bin / setenv.sh untuk setiap instance atau Anda hanya dapat memodifikasi tautan simbolik, memperbarui biner "secara global"

Lebih mudah untuk memperbarui bahkan jika Anda hanya memiliki satu contoh.

Dario yang membosankan
sumber