Saya memiliki beberapa contoh tomcat 6 yang berjalan di server yang sama (Linux) dan berfungsi seperti yang diharapkan. Saya mencoba untuk mencari tahu apa praktik standar yang berkaitan dengan pengaturan variabel CATALINA_HOME
dan CATALINA_BASE
.
Dalam instalasi tomcat saya, saya memiliki pengaturan CATALINA_HOME
untuk menunjuk ke folder "umum" (katakanlah /tomcat6
) dan CATALINA_BASE
variabel bervariasi tergantung pada nama instance (katakanlah /tomcat_instance1
, /tomcat_instance2
)
Pertanyaan saya adalah ini:
- Apakah saya benar-benar membutuhkan dua variabel?
- Atau Bisakah saya memiliki satu
CATALINA_HOME
dan menghapusCATALINA_BASE
(atau sebaliknya)?
java
tomcat
environment-variables
souser
sumber
sumber
$CATALINA_HOME
) dari pemeliharaan konfigurasi dan konten instans Tomcat (yang aktif$CATALINA_BASE
).Jawaban:
Jika Anda menjalankan beberapa instance Tomcat pada satu host, Anda harus mengatur
CATALINA_BASE
agar sama dengan direktori.../tomcat_instance1
or yang.../tomcat_instance2
sesuai untuk setiap instance danCATALINA_HOME
variabel lingkungan ke instalasi Tomcat umum yang filenya akan dibagikan di antara kedua instance tersebut.The
CATALINA_BASE
lingkungan adalah opsional jika Anda menjalankan Tomcat contoh tunggal pada host dan akan default keCATALINA_HOME
dalam kasus itu. Jika Anda menjalankan beberapa contoh seperti Anda, itu harus disediakan.Ada deskripsi yang cukup bagus tentang pengaturan ini di
RUNNING.txt
file di root distribusi Apache Tomcat di bawah tajuk Konfigurasi Lanjutan - Beberapa Instans Tomcatsumber
CATALINA_HOME
vs.CATALINA_BASE
Jika Anda menjalankan banyak instance, Anda memerlukan kedua variabel, jika tidak, hanya
CATALINA_HOME
.Dengan kata lain:
CATALINA_HOME
wajib diisi danCATALINA_BASE
opsional.CATALINA_HOME
mewakili root dari instalasi Tomcat Anda.Lihat: Apache Tomcat 7 - Pendahuluan
Berjalan dengan terpisah
CATALINA_HOME
danCATALINA_BASE
didokumentasikan di RUNNING.txt yang mengatakan:Sebagai contoh:
Beberapa Instans Tomcat
Bagaimana cara memeriksanya
Cara termudah untuk memeriksa apa yang Anda
CATALINA_BASE
danCATALINA_HOME
adalah dengan menjalankanstartup.sh
, misalnya:Anda juga dapat memeriksa di mana file Tomcat diinstal, dengan
dpkg
alat seperti di bawah ini (Debian / Ubuntu):sumber
Saya tidak bisa mengatakan saya tahu praktik terbaik, tapi inilah perspektif saya.
Apakah Anda menggunakan variabel ini untuk sesuatu?
Secara pribadi, saya tidak perlu mengubah baik, di Linux maupun Windows, di lingkungan yang bervariasi dari pengembangan ke produksi. Kecuali jika Anda melakukan sesuatu yang bergantung padanya, kemungkinan besar Anda bisa membiarkannya.
catalina.sh
menetapkan variabel yang perlu dikerjakan Tomcat di luar kotak. Ia juga mengatakan ituCATALINA_BASE
opsional:Saya cukup yakin Anda akan mengetahui apakah pengaturan Anda berfungsi atau tidak ketika Anda memulai server Anda.
sumber
catalina_home
jalur dalam\bin\catalina.sh
file untuk kedua contoh tomcat ??Menunjuk
CATALINA_BASE
ke direktori yang berbeda dariCATALINA_HOME
memungkinkan Anda untuk memisahkan direktori konfigurasi dari direktori binari.Secara default,
CATALINA_BASE
(konfigurasi) danCATALINA_HOME
(binari) mengarah ke folder yang sama, tetapi memisahkan konfigurasi dari binari dapat membantu Anda menjalankan beberapa contoh Tomcat secara berdampingan tanpa menduplikasi binari.Ini juga berguna ketika Anda ingin memperbarui binari, tanpa memodifikasi, atau perlu membuat cadangan / memulihkan file konfigurasi Anda untuk Tomcat.
Perbarui 2018
Ada cara yang lebih mudah untuk menyetel CATALINA_BASE sekarang dengan
makebase
utilitas. Saya telah memposting tutorial yang mencakup subjek ini di http://blog.rasia.io/blog/how-to-easily-setup-lucee-in-tomcat.html bersama dengan tutorial video di https://youtu.be / nuugoG5c-7MJawaban asli dilanjutkan di bawah
Untuk memanfaatkan fitur ini, cukup buat direktori config dan arahkan ke sana dengan
CATALINA_BASE
variabel lingkungan. Anda harus meletakkan beberapa file di direktori itu:conf
direktori dari direktori instalasi Tomcat asli, termasuk isinya, dan pastikan Tomcat memiliki izin membaca padanya. Edit file konfigurasi sesuai kebutuhan Anda.logs
direktori jikaconf/logging.properties
mengarah ke${catalina.base}/logs
, dan pastikan Tomcat memiliki izin baca / tulis padanya.temp
direktori jika Anda tidak menimpa default$CATALINA_TMPDIR
yang menunjuk ke${CATALINA_BASE}/temp
, dan pastikan Tomcat memiliki izin menulis padanya.work
direktori yang default${CATALINA_BASE}/work
, dan pastikan Tomcat memiliki izin menulis padanya.sumber
CATALINA_BASE bersifat opsional.
Namun, dalam skenario berikut ini membantu untuk menyiapkan CATALINA_BASE yang terpisah dari CATALINA_HOME.
Saat lebih dari 1 instance tomcat berjalan di host yang sama
Pemisahan perhatian (Tanggung jawab tunggal)
sumber
Itu adalah folder induk dari bin yang berisi file tomcat.exe:
CATALINA_BASE
sama denganCATALINA_HOME
.sumber