Mostrando entradas con la etiqueta LINUX. Mostrar todas las entradas
Mostrando entradas con la etiqueta LINUX. Mostrar todas las entradas

jueves, 18 de febrero de 2021

Encapsulación microservicio Spring Boot en un servicio Linux

Vamos a desplegar un microservicio Spring Boot dentro de un servicio de Linux, para permitir su ejecución de manera independiente como un proceso. Para ello, partimos de que ya tenemos el código listo en su respectivo jar (en otra entrada explicaremos como hacer esta tarea apoyándonos en nuestro IDE con Maven):

1.) Accedemos a la máquina Linux con el usuario que tendrá permisos para lanzar el servicio.
 
2.) Subimos el fichero jar a nuestra máquina Linux, a un directorio donde tengamos permisos de escritura, por ejemplo en nuestro caso /var/microservice.
 
3.) Otorgamos permiso de ejecución al fichero jar:
    chmod 500 /var/microservice/app-microservice.jar 
 
4.) Creamos un script que creará el service para la máquina Linux:

        echo '[Unit]' >> /tmp/app-monitor.service
    echo 'Description=App monitoring Microservice' >> /tmp/app-monitor.service
    echo 'After=syslog.target' >> /tmp/app-monitor.service
    echo '' >> /tmp/app-monitor.service
    echo '[Service]' >> /tmp/app-monitor.service
    echo 'User=oracle' >> /tmp/app-monitor.service
    echo 'ExecStart=/usr/lib64/jvm/jre-1.8/jre1.8.0_281/bin/java -jar      /var/microservice/app-monitoring.jar' >> /tmp/app-monitor.service
    echo 'SuccessExitStatus=143' >> /tmp/app-monitor.service
    echo 'StandardOutput=syslog' >> /tmp/app-monitor.service
    echo 'StandardError=syslog' >> /tmp/app-monitor.service
    echo 'SyslogIdentifier=app-monitor' >> /tmp/app-monitor.service
    echo '' >> /tmp/app-monitor.service
    echo '[Install]' >> /tmp/app-monitor.service
    echo 'WantedBy=multi-user.target' >> /tmp/app-monitor.service
   
 
Viendo un poco el script en detalle, los puntos importantes son que creará un fichero service llamado app-monitor que dejará en la carpeta /tmp, y la línea de ejecucción del servicio usa la jre 1.8 ya que es la mínima necesaria para ejecutar Spring Boot y apunta a la ruta donde hemos dejado nuestro fichero jar. 
 
5.) Ejecutamos el script, que creará el fichero app-monitor.service en la carpeta /tmp.
 
6.) Copiamos el service a la ruta /etc/systemd/system, que es donde residen los servicios de nuestro servidor Linux.
 
7.) A partir de aquí manejaremos el servicio como otro cualquiera de Linux, apoyándonos en el comando systemctl.
     
    a) Habilitar el servicio => sudo systemctl enable app-monitor.service
    b) Arrancar/Parar el servicio => sudo systemctl start/stop app-monitor.service
    c) Estado/log => sudo systemctl -l status app-monitor.service
 
   
 
 


jueves, 18 de julio de 2019

Configuración plugin Weblogic para Apache 2.4

Nos hemos encontrado un problema a la hora de instalar el plugin para Weblogic en un Apache 2.4 siguiendo la documentación oficial (https://docs.oracle.com/middleware/1212/webtier/PLGWL/apache.htm#PLGWL395). Una vez descomprimido, puesto el módulo en la carpeta modules, y cargado el módulo en el httpd.conf, nos aparece el siguiente error:

"Cannot load /PATH_APACHE/wls_plugin/lib/mod_wl_24.so into server: libopmnsecure.so: cannot open shared object file: No such file or directory".

El problema parece estar en las librerías que usa el plugin, que el sistema no es capaz de leer. En Linux existe un fichero donde se especifican las librerías que usan los programas que se compilan y ejecutan, y en nuestro caso en un RH está en /etc/ld.so.conf

Lo único que hay que añadir en dicho directorio la ruta a la carpeta donde están las librerías del plugin de Weblogic para apache (/PATH_APACHE/wls_plugin/lib).

vi /etc/ld.so.conf => Añadir línea al fichero con la ruta

Una vez guardado, hay que decirle al sistema que cargue de nuevo en cache la lista de librerías que usa, para ello usamos el comando ldconfig:

ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories (/lib and /usr/lib).

Una vez hecho esto, reiniciamos el Apache y ya debe estar funcionando.


viernes, 10 de julio de 2015

Levantar X Linux

Esta entrada surge por la necesidad de instalar un parche de Oracle en una máquina Linux, y es necesario utilizar el Smart Update, que es la herramienta de actualización de Oracle. Para ello, en la máquina Linux:

1º) Vemos si el JAVA_HOME está apuntando al JRockit. Para ello vemos el path (echo $JAVA_HOME) y si no lo está, lo exportamos:
   export JAVA_HOME=/opt/oracle_middleware/products/java/jrockit.../

2º) Utilizamos un cliente SSH que tenga X server, como puede ser el MobaXTerm

Con esto ya estarían las X levantandas. En nuestro caso, para probarlo lanzamos el Smart Update que se encuentra en utils como
   cd /opt/oracle-middleware/products/utils/bsu/
   ./bsu.sh