Maison  >  Article  >  Java  >  Comment gérer les applications Java en tant que services sous Linux ?

Comment gérer les applications Java en tant que services sous Linux ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 04:21:28961parcourir

How to Manage Java Applications as Services on Linux?

Gestion des applications Java en tant que services sous Linux

Dans le domaine de l'administration des serveurs, la gestion des applications en tant que services garantit leur fonctionnement fiable et leur facilité de contrôle. Pour les applications Java déployées sur les systèmes Linux, cet article explore les options disponibles pour les transformer en services et gérer efficacement leur exécution.

Le défi

Démarrer et arrêter souvent une application Java sur un serveur Linux implique de modifier le script rc.local. Cependant, cette approche ne permet pas de contrôler l'application de manière indépendante et peut s'avérer peu pratique pour les mises à jour ou le dépannage.

Création d'un service Linux

Pour surmonter ces limitations, les systèmes Linux proposent le concept de services, géré via des outils comme init.d ou systemd. Ces services vous permettent de démarrer, d'arrêter et de redémarrer des applications à volonté, indépendamment des redémarrages du serveur.

Création d'un service pour une application Java

  1. Définissez un script de service : Créez un script shell au format suivant :
<code class="sh">#!/bin/sh
SERVICE_NAME=WebServer
PATH_TO_JAR=/path/to/WebServer.jar

case  in
    start)
        echo "Starting $SERVICE_NAME ..."
        nohup java -jar $PATH_TO_JAR &
    ;;
    stop)
        echo "Stopping $SERVICE_NAME ..."
        kill $(cat /tmp/WebServer-pid)
        rm /tmp/WebServer-pid
    ;;
    restart)
        <pre class="brush:php;toolbar:false"><code class="sh">chmod +x /usr/local/bin/WebServer</code>
stop
<code class="sh">cp /usr/local/bin/WebServer /etc/init.d/WebServer
ln -s /etc/init.d/WebServer /etc/rc?.d/S99WebServer</code>
start ;; esac
  1. Configurez les autorisations : Définissez les autorisations du script pour permettre l'exécution :
<code class="sh">[Unit]
Description=Web Server Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/WebServer start
ExecStop=/usr/local/bin/WebServer stop
Restart=on-failure
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target</code>
  1. Installer le service : En fonction de votre distribution Linux et de votre système de gestion de services, vous pouvez suivre différentes étapes.
  • init.d (Legacy): Copiez le script dans /etc/init.d/ et créez un lien symbolique vers /etc/rc?.d/:
  • systemd (Modern): Créez un fichier unité dans /lib/systemd/system/:

Démarrage, arrêt, et redémarrage du service

Pour contrôler le service, utilisez les commandes suivantes :

  • Démarrer : service WebServer start
  • Stop : service WebServer stop
  • Redémarrage : redémarrage du serveur Web du service

Fonctionnalités supplémentaires

  • Fournir la journalisation : Modifier les lignes ExecStart et ExecStop dans le fichier d'unité pour spécifier les fichiers journaux du service.
  • Configurer les dépendances : Ajoutez les directives After et Before dans le fichier d'unité pour spécifier les dépendances sur d'autres services.
  • Créez une extension Plesk : Pour les utilisateurs de Plesk, emballez le script wrapper en tant qu'extension Plesk pour gérer le service à partir de l'interface Plesk.

En suivant ces étapes, vous pouvez gérer efficacement votre Applications Java en tant que services Linux, gagnant la flexibilité et le contrôle nécessaires pour garantir leur fonctionnement fiable et leur maintenance en temps opportun.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn