GNU/Linux >> Belajar Linux >  >> Linux

systemctl menghentikan layanan Tomcat segera setelah dimulai

Terima kasih @MichaelHampton untuk artikel bagusnya:https://jdebp.eu/FGA/systemd-house-of-horror/Tomcat.html

Ini menjelaskan kemungkinan masalah dengan instalasi tipikal yang disarankan dalam tutorial yang saya baca (dan banyak sekali copy-paste lainnya). Saya tidak tahu mengapa masalah itu muncul. Mungkin ini adalah masalah dengan semua lapisan yang diperkenalkan oleh catalina.sh, startup.sh, dll.

Jadi pada dasarnya, saya menulis ulang skrip konfigurasi systemd dan mulai berfungsi.


Saya memiliki masalah yang sama persis. Hanya saya yang menggunakan Amazon Lightsail. Mungkin ada masalah dengan cara Amazon mengonfigurasi mesin Ubuntu mereka, dan cara yang dijelaskan untuk membuat Layanan Tomcat. Saya menggunakan cara yang dijelaskan pada mesin Ubuntu lokal yang saya atur sendiri dan berfungsi dengan baik.

Saya membaca artikel oleh @michael-hampton dan menggunakan pendekatan yang dijelaskan di sana. Saya seorang noob Linux, dan saya menemukan bahwa saya memiliki beberapa masalah untuk membuatnya berfungsi. Saya menyertakan file yang saya dapatkan di sini, jadi mungkin pemula Linux lain yang memiliki masalah ini dapat memulai dengan lebih mudah. Instalasi Tomcat saya ada di /opt/Tomcat dan ini adalah file yang saya dapatkan:

/etc/systemd/system/Tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target


[Service]
User=tomcat
Group=tomcat
UMask=0007

EnvironmentFile=/etc/default/tomcat
ExecStart=/usr/bin/env ${JAVA_HOME}/bin/java \
$JAVA_OPTS $CATALINA_OPTS \
-classpath ${CLASSPATH} \
-Dcatalina.base=${CATALINA_BASE} \
-Dcatalina.home=${CATALINA_HOME} \
-Djava.endorsed.dirs=${JAVA_ENDORSED_DIRS} \
-Djava.io.tmpdir=${CATALINA_TMPDIR} \
-Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
org.apache.catalina.startup.Bootstrap \
start

ExecStop=/usr/bin/env ${JAVA_HOME}/bin/java \
$JAVA_OPTS $CATALINA_OPTS \
-classpath ${CLASSPATH} \
-Dcatalina.base=${CATALINA_BASE} \
-Dcatalina.home=${CATALINA_HOME} \
-Djava.endorsed.dirs=${JAVA_ENDORSED_DIRS} \
-Djava.io.tmpdir=${CATALINA_TMPDIR} \
-Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
org.apache.catalina.startup.Bootstrap \
stop

SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

/etc/default/Tomcat

CATALINA_HOME=/opt/tomcat
CATALINA_BASE=/opt/tomcat
CATALINA_TMPDIR=/opt/tomcat/temp
CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC
JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom
JAVA_ENDORSED_DIRS=/opt/tomcat/endorsed
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
CLASSPATH=/opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar

Linux
  1. Mengapa Systemd Menghentikan Layanan Segera Setelah Dimulai?

  2. Mulai Tomcat Saat Memulai Dengan Hak Administratif?

  3. Layanan Systemctl Habis Saat Mulai?

  1. systemctl:perintah tidak ditemukan

  2. Contoh Perintah systemctl di Linux

  3. Systemd:Menggunakan After dan Requires

  1. Centos – Systemd Membunuh Layanan Segera Setelah Mulai?

  2. Cara memulai layanan systemd setelah pengguna masuk dan menghentikannya sebelum pengguna keluar

  3. Boot Ubuntu 16.04 ke baris perintah / jangan mulai GUI