Welchen Vorteil habe ich von JSVC gegenüber nur mit systemd?

Der Tomcat-Dokumentation beschreibt den Prozess des Kompilierens und der Installation JSVCdie verwendet werden können, um führen Sie Tomcat als daemon. Gemäß meinem Verständnis, JSVC hat zwei Vorteile:

  1. Es startet als root, so dass für die Verwendung von einem privilegierten port (z.B. 80 oder 443).
  2. Schafft es eine "controller-Prozess" - monitor einen "gesteuerten Prozess" (die wichtigsten Java-thread) und starten Sie den Vorgang auf Fehler.

Habe ich gelernt systemdeinschließlich der service-Einheit-Konfiguration. Basierend auf meinem begrenzten Verständnis, systemd ist in der Lage die gleichen Aufgaben wie JSVC wenn ich User=tomcat (mit dem gewünschten Benutzernamen) und Restart=on-failure in meinem tomcat.service Konfigurationsdatei.

Mit JSVCwürde ich erwarten, dass tomcat.service so Aussehen:

[Unit]
Description=Apache Tomcat
After=network.target

[Service]
Environment=CATALINA_PID=/var/run/tomcat.pid
Environment=JAVA_HOME=/path/to/java
Environment=CATALINA_HOME=/opt/tomcat
...

ExecStart=/opt/tomcat/bin/jsvc \
    -Dcatalina.home=${CATALINA_HOME} \
    -user tomcat \
    -java-home ${JAVA_HOME} \
    -pidfile ${CATALINA_PID} \
    ...
    org.apache.catalina.startup.Bootstrap

ExecStop=/opt/tomcat/bin/jsvc \
    -pidfile ${CATALINA_PID} \
    ...
    -stop \
    org.apache.catalina.startup.Bootstrap

[Install]
WantedBy=multi-user.target

Mit systemdwürde ich erwarten, dass tomcat.service so Aussehen:

[Unit]
Description=Apache Tomcat
After=network.target

[Service]
Type=forking  
PIDFile=/var/run/tomcat.pid
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/path/to/java
Environment=CATALINA_HOME=/opt/tomcat
...

Restart=on-failure

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Meine Vorliebe ist die Verwendung nur systemd als es das schon gibt und ich muss (sollte) verwenden Sie es trotzdem. Ich bin jedoch unsicher, ob oder ob nicht werde ich fehlen Vorteil der Verwendung von JSVC, ich bin Blick.

Was erreicht werden kann, JSVC, die nicht erreicht werden kann, die von systemd, wenn ich laufen will Tomcat als daemon?

Auch, wenn systemd ist in der Lage die gleichen Aufgaben wie JSVC sowie JSVC, ich möchte auch zu Fragen, für jede Konfigurations-Tipps, die Sie anbieten können, am besten erreichen Sie die Vorteile von JSVC mit nur systemd.

InformationsquelleAutor der Frage | 2015-03-06

Schreibe einen Kommentar