[Proyecto práctico] Paquete Jar que se inicia automáticamente en el sistema Linux

¿Qué es el inicio automático del paquete jar?

En los sistemas Linux, "paquete jar de inicio automático" se refiere a empaquetar un programa Java en un archivo Jar ejecutable mediante configuración y configurarlo para que se ejecute automáticamente cuando se inicia el sistema. Los siguientes son algunos conceptos relacionados con el inicio automático del paquete jar:

Archivo Jar: El archivo Jar (Java Archive) es un formato de archivo utilizado para empaquetar y distribuir programas Java. Puede contener archivos de clase Java, archivos de recursos, archivos de biblioteca, etc. Los archivos jar pueden utilizar la máquina virtual Java (JVM) para ejecutar los programas que contienen.

Archivo Jar ejecutable: un archivo Jar ejecutable se refiere a un archivo Jar con el punto de entrada del programa principal integrado en él. Se puede ejecutar directamente mediante comandos Java o haciendo doble clic. Los archivos jar se pueden marcar como ejecutables configurando el atributo Main-Class en el archivo de manifiesto.

Script de inicio: un script de inicio es un script de Shell que se utiliza para realizar operaciones específicas, como configurar variables de entorno, iniciar una máquina virtual Java y especificar el archivo Jar ejecutable del programa principal como parámetro. Los scripts de inicio normalmente ejecutan programas Java como procesos en segundo plano.

Servicio del sistema: en los sistemas Linux, los archivos Jar se pueden administrar como un servicio del sistema para que puedan ejecutarse automáticamente cuando se inicia el sistema. Un servicio del sistema es un programa que proporciona funciones en segundo plano y se puede administrar y controlar mediante scripts de inicio del sistema o herramientas de administración de servicios (como Systemd).

Systemd: Systemd es un sistema de inicialización y administrador de servicios en el sistema Linux. Se puede utilizar para gestionar operaciones como iniciar, detener, reiniciar y ver el estado de los servicios del sistema. Al crear y configurar un archivo de unidad Systemd, puede usar el archivo Jar como un servicio Systemd y configurarlo para que se ejecute automáticamente cuando se inicia el sistema.

Los beneficios de los paquetes jar de inicio automático

Ejecutarse automáticamente cuando se inicia el sistema: al configurar el paquete Jar como un servicio de inicio automático, puede asegurarse de que el programa se ejecute automáticamente cuando se inicie el sistema. Esto es útil para aplicaciones que necesitan ejecutarse como un servicio en segundo plano después de que se inicia el sistema, sin tener que iniciarlas manualmente.

Administración y mantenimiento convenientes: después de usar el paquete Jar como un servicio de inicio automático, puede usar herramientas o comandos relevantes para administrar y mantener el servicio, como iniciar, detener, reiniciar y ver el estado. Esto puede simplificar las operaciones y mejorar la eficiencia de la gestión.

Evite la intervención manual: los servicios de inicio automático eliminan la necesidad de intervención manual. No es necesario ejecutar manualmente el paquete Jar cada vez que se reinicia el sistema, lo que reduce el riesgo de errores y mejora la estabilidad del sistema.

Control de secuencia de inicio: al configurar servicios de inicio automático, puede controlar con precisión la secuencia de inicio entre diferentes servicios. Si su aplicación depende de otros servicios o recursos, configurar dependencias en un servicio de inicio automático puede garantizar la secuencia de inicio correcta.

Registro y manejo de errores: los servicios de inicio automático pueden configurar mecanismos de registro y manejo de errores. Puede registrar la información de salida del programa en un archivo de registro para facilitar la resolución y localización de problemas. Además, puede definir políticas de manejo de errores, incluidas acciones como reinicios automáticos o envío de notificaciones, para garantizar la confiabilidad del servicio.

Al configurar el paquete Jar como un servicio de inicio automático, puede administrar y controlar fácilmente el funcionamiento de la aplicación y mejorar la confiabilidad y estabilidad del sistema. Esto es especialmente cierto para los servicios en segundo plano, las tareas programadas y las aplicaciones que deben ejecutarse automáticamente cuando se inicia el sistema.

Operación real

Preparación preliminar

Verifique el número de versión de su servidor java

java -version

Insertar descripción de la imagen aquí

Nota: Si el servidor aquí es la versión java11, el entorno jdk en el script jarSysInit.sh a continuación debe cambiarse al entorno correspondiente.

paso

1. Cree un nuevo archivo de inicio automático del paquete jar.

sudo vi /etc/init.d/jarSysInit.sh

Presione la tecla i para ingresar al modo de edición e ingrese lo siguiente:

# !/bin/bash
##JDK start 配置自己服务器的JDK环境(jkd8还是11)
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
## JDK end
# 有多少个jar就后面加上去就好(这里需要参考自己jenkins的启动脚本注意全局变量$APP_PATH 要换成jar包对应的全路径)
nohup java -Xms1024m -Xmx1024m -jar /home/admin/apps/typing_provider.jar > /home/admin/apps/typing.log 2>&1 &

Presione la tecla esc para salir del modo de edición e ingrese: wq para guardar
Insertar descripción de la imagen aquí
2. Edite el archivo que se ejecuta automáticamente cuando se enciende el servidor.

sudo vi /etc/rc.d/rc.local

Presione la tecla i para ingresar al modo de edición y agregue el siguiente contenido
en touch /var/lock/subsys/local en este archivo :

#开机启动jar脚本
/etc/init.d/jarSysInit.sh

Insertar descripción de la imagen aquí
Presione la tecla esc para salir del modo de edición e ingrese: wq para guardar

3. Eleve los permisos. Ambos archivos de script están en verde.
Cambie de ruta.

cd /etc/rc.d

Elevar privilegios:

sudo chmod 755 /etc/rc.local

Compruebe si la actualización se realizó correctamente

ll

Insertar descripción de la imagen aquí
Cambiar directorio

cd /etc/init.d

Elevar privilegios

sudo chmod 755 /etc/init.d/jarSysInit.sh

Insertar descripción de la imagen aquí

Resumir

**Cuando el paquete Jar se configura como el servicio de inicio automático del sistema Linux, el contenido se puede enriquecer aún más, incluyendo:

Gestión de recursos del sistema: a través de servicios de inicio automático, los recursos del sistema, como CPU, memoria y red, se pueden asignar y administrar de manera razonable cuando se inicia el sistema. El uso de recursos del programa se puede optimizar en función de las necesidades reales y garantizar que otras tareas y servicios importantes puedan ejecutarse normalmente.

Mejora de la seguridad: al configurar el programa como un servicio de inicio automático, puede utilizar una identidad de usuario específica o permisos para ejecutar el programa y mejorar la seguridad. Los derechos de acceso se pueden restringir y garantizar que solo los usuarios autorizados puedan acceder y operar los servicios relacionados. Esto ayuda a prevenir el acceso no autorizado y posibles violaciones de seguridad.

Monitoreo y alarmas: el servicio de inicio automático se puede integrar con herramientas de monitoreo para monitorear el estado de ejecución del programa en tiempo real. Al configurar indicadores de monitoreo y reglas de alarma apropiados, se pueden descubrir y manejar situaciones anormales como fallas, cargas elevadas y pérdidas de memoria de manera oportuna. Esto ayuda a tomar medidas oportunas y garantiza la disponibilidad y estabilidad del servicio.

Actualizaciones automáticas y gestión de versiones: utilizando servicios de inicio automático, se pueden lograr actualizaciones automáticas y gestión de versiones de programas. Puede configurar una política para buscar periódicamente nuevas versiones y descargar e implementar automáticamente nuevos paquetes Jar cuando se actualicen. Esto garantiza que las aplicaciones siempre utilicen las últimas funciones y correcciones de errores, lo que garantiza la seguridad y estabilidad del sistema.

Escalabilidad y flexibilidad: con servicios de inicio automático, las aplicaciones se pueden ampliar fácilmente si es necesario. Puede agregar más parámetros, archivos de configuración, complementos, etc. para personalizarlo según las necesidades reales. Esto proporciona mayor flexibilidad y escalabilidad para el posterior desarrollo y mantenimiento de aplicaciones.

En resumen, configurar el paquete Jar como un servicio de inicio automático en el sistema Linux no solo simplifica el proceso de operación, mejora la confiabilidad y la eficiencia de la administración, sino que también proporciona más funciones y garantías, como administración de recursos, mejora de la seguridad, monitoreo y alarmas. ., actualizaciones automáticas y flexibilidad, etc. Aprovechando estas ventajas, podrá gestionar y ejecutar mejor sus aplicaciones para satisfacer las necesidades cambiantes y ofrecer una experiencia de usuario superior. **

Supongo que te gusta

Origin blog.csdn.net/weixin_45309155/article/details/133268898
Recomendado
Clasificación