¿Te has preguntado alguna vez cómo convertir tu aplicación Java empaquetada en un archivo JAR como servicio en Linux? Con Systemd, el administrador de servicios de Linux, puedes lograrlo de manera sencilla y eficiente. En este post, te guiaré paso a paso a través del proceso de dejar un aplicativo JAR como servicio utilizando Systemd, lo que te permitirá gestionar fácilmente su inicio, detención y supervisión.
En Linux, podemos ejecutar java jar usando el comando java -jar application.jar. Pero para ejecutar Jar como servicio en linux, necesitamos hacer algo más.
Requisitos
Asegúrate de tener tu aplicación Java empaquetada en un archivo JAR. Si aún no lo has hecho, puedes utilizar herramientas como Maven o Gradle para compilar tu proyecto y generar el archivo JAR ejecutable. Teniendo el archivo lo ubicamos en el directorio /home/ubuntu/, usaremos un usuario que haya iniciado sesión (ubuntu) para ejecutar la aplicación con systemd. También puede crear un usuario del sistema para el mismo propósito.
Paso 1: Creación del Archivo de Servicio
Ahora, crearemos un archivo de servicio para definir las configuraciones del servicio en Systemd. Puedes ubicar este archivo en /etc/systemd/system/
.
sudo nano /etc/systemd/system/nombre_de_tu_servicio.service
Paso 2: Configuración del Archivo de Servicio
Abrimos el archivo y copiamos los siguiente, en donde debes enrutar la app y generar el comando para levantar el archivo jar, ejemplo:
[Unit]
Description=nombre_de_tu_servicio
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/
ExecStart=/usr/bin/java -jar /home/ubuntu/miapp.jar
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Asegúrate de reemplazar Description
, User
, WorkingDirectory
y ExecStart
con los valores correspondientes.
Paso 4: Habilitación y Arranque del Servicio
Una vez configurado el archivo de servicio, habilita y arranca el servicio con los siguientes comandos:
sudo systemctl daemon-reload
sudo systemctl enable nombre_de_tu_servicio
sudo systemctl start nombre_de_tu_servicio
¡Y eso es todo! Tu aplicativo JAR ahora está configurado como un servicio en tu sistema Linux, listo para iniciar automáticamente y ejecutarse en segundo plano según sea necesario.
Conclusión
Con Systemd, dejar un aplicativo Jar como servicio en Linux es una tarea simple y poderosa. Al seguir estos sencillos pasos, puedes asegurar que tu aplicación esté siempre disponible y funcione de manera confiable en tu entorno de producción. ¡Explora y experimenta con Systemd para optimizar la administración de tus aplicativos en Linux!
Revisa nuestros post sobre java https://tenocode.com/category/programacion/java/