Maison  >  Article  >  Java  >  Comment puis-je exécuter mon application Java en tant que service sur un système Linux ?

Comment puis-je exécuter mon application Java en tant que service sur un système Linux ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 10:59:29251parcourir

How can I run my Java application as a service on a Linux system?

Naviguer dans les services du système Linux : exécuter des applications Java en tant que services

Dans le domaine de l'administration système Linux, la gestion des applications en tant que services est cruciale pour garantir leur exécution fiable et contrôlée. Cet article examine le processus de configuration d'une application serveur Java pour qu'elle s'exécute en tant que service sur un système d'exploitation Linux, offrant une solution complète à la question posée par l'utilisateur.

L'objectif principal est de créer un service qui permet un démarrage, un arrêt et un redémarrage transparents de l'application Java, éliminant ainsi le besoin de redémarrer le serveur. En employant un simple script wrapper et en tirant parti des capacités des services système Linux, nous atteignons cet objectif.

Démarrage du voyage : configuration initiale

Pour lancer le processus de configuration, un script shell est conçu pour gérer les différentes opérations nécessaires à l’exécution de l’application Java en tant que service. Ce script sert de middleware, orchestrant le comportement de l'application en fonction des commandes reçues.

<code class="sh">#!/bin/sh
SERVICE_NAME=MyService
PATH_TO_JAR=/usr/local/MyProject/MyJar.jar
PID_PATH_NAME=/tmp/MyService-pid
case  in
    start)
        # Code block to start the service
    ;;
    stop)
        # Code block to stop the service
    ;;
    restart)
        # Code block to restart the service
    ;;
esac</code>

Au sein de ce script wrapper, les fonctions suivantes sont définies :

  • start  : lance l'application Java à l'aide de la commande 'nohup', qui garantit que l'application continue de s'exécuter même après la fin du shell. L'ID de processus (PID) est capturé et stocké dans un fichier PID désigné pour référence future.
  • stop : termine l'application Java en cours d'exécution en envoyant un signal d'arrêt au PID récupéré du PID. déposer. Le fichier PID est ensuite supprimé.
  • restart : combine les actions d'arrêt et de démarrage, redémarrant efficacement l'application Java.

Exécution parfaite : intégration du script dans Services système

Une fois le script wrapper en place, il doit être intégré au mécanisme des services système Linux. Les scripts 'init.d' ou 'systemd' (pour Ubuntu 16) sont couramment utilisés à cette fin. Suivez les didacticiels liés pour vous guider tout au long de ce processus d'intégration.

Considérations supplémentaires pour la sortie des journaux

Par défaut, le script wrapper supprime la sortie standard de l'application Java pour éviter l'encombrement dans les journaux système. Cependant, si la récupération des journaux est souhaitée, ce comportement peut être modifié en remplaçant la redirection '2>&1' par '>> myService.out 2>&1&' dans la commande 'nohup'.

Grâce à cette approche globale, exécuter une application Java en tant que service sous Linux est désormais une entreprise simple. Le script wrapper fourni et les techniques d'intégration des services système vous offrent la flexibilité et le contrôle nécessaires pour gérer efficacement vos applications.

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