Cuando entro en mi instancia EC2 y ejecuto los siguientes comandos, se ejecuta mi archivo SpringServer.jar y puedo acceder a mi aplicación Spring yendo a myawsaccount:8080/times . cuando especifico los siguientes comandos en Datos de usuario, no puedo acceder a mi aplicación en myawsaccount:8080/times y no estoy seguro de por qué. Cualquier ayuda sería apreciada.
Comandos
#!/bin/bash --> only in user script sudo su wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.rpm yum install -y jdk-8u141-linux-x64.rpm wget https://myawsaccount.s3-eu-west-1.amazonaws.com/SpringServer-1-0.0.1-SNAPSHOT.jar java -jar SpringServer-1-0.0.1-SNAPSHOT.jarPara solucionar problemas de UserData , lo mejor que puede hacer es iniciar sesión en una instancia e inspeccionar uno de los archivos de registro de UserData .
Lo más impotente /var/log/cloud-init-output.log :
El archivo de registro de salida de cloud-init (/var/log/cloud-init-output.log) captura la salida de la consola, por lo que es fácil depurar sus scripts después de un lanzamiento si la instancia no se comporta de la forma prevista.
Además, su secuencia de comandos UserData se ubicará en /var/lib/cloud/instances/<instance-id>/ . Por lo tanto, una vez que esté en la instancia, puede intentar ejecutarlo manualmente y corregir/depurar mientras está en la instancia .
La configuración de variables de entorno mediante export no funciona en los datos del usuario, ya que solo las configura para la sesión de shell actual. Puede solucionar esto copiándolos en la configuración de su perfil:
#!/bin/bash ... echo 'export JAVA_HOME=/opt/jdk1.8.0_141' >> /etc/profile echo 'export JRE_HOME=/opt/jdk1.8.0_141/jre' >> /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin' >> /etc/profile ...De esta forma, las variables de entorno estarán disponibles en cada sesión.