Aplicacion en servidor ubuntu
Publicado por Juan (4 intervenciones) el 07/01/2020 18:00:28
Hola muy buenas feliz año!
Soy nuevo con los servidores. Les cuento un poco.
He creado una aplicación que no es una página web, si no una aplicación que se ejecuta y abre un puerto para comunicación por medio de socket. y según el mensaje recibido realiza una determinada acción en la base de datos. la aplicación funciona bien, me conecto desde un dispositivo externo y va bien, y si me conecto desde mi pc lo mismo, funciona bien. mi problema era que cuando cerraba la terminal desde donde ejecute la aplicación, mi aplicación se cerraba.
Por lo que necesitaba ejecutarla de otra manera, conseguí un comando para cerrar la terminal sin cerrar la aplicacion y todo bien. pero qué sucede si había un problema y se cerraba la aplicación por un error que no capture?
Por lo que necesitaba hacer algo que si la aplicación se cerraba se volviera a abrir. ya que dispositivos dependen de ella, y no puedo dejarla sin funcionamiento.
investigando un poco lo he solucionado creando una instrucción con crontab que cada minuto intenta abrir la aplicación, si no está abierta la abre, y si ya está abierta, como el puerto está en uso no puede iniciarse. con esto me funciona, he mandado comandos para cerrar la aplicación y deja de funcionar con un máximo de 1 min, que es cuando se vuelva a ejecutar la instrucción del crontab. por lo tanto mi problema ya esta solucionado.
Pero tengo una duda, es esta la manera más eficiente de hacer que mi aplicacion se mantenga activa? porque al intentar abrir constantemente cada 1 minuto la aplicación, no se si sea esto muy eficiente (lo dijo porque no inicia por un error de puerto ocupado). y mi pregunta seria esa, hay alguna otra manera de hacerlo? o no pasa nada que lo tenga asi?
Sería más eficiente crean un script que pregunte si ese puerto está abierto? y si lo está quiere decir que la aplicación está funcionando, y si está cerrado inicie la aplicación porque quiere decir que no se está ejecutando? esto seria mas conveniente?
o para realizar esto que quiero hacer existe alguna herramienta?
Si alguien me puede asesorar un poco se lo agradeceria, ya que si me funciona, pero dudo que lo esté haciendo bien. y no consigo mucha información por internet respecto a esto. Consigo información sobre tomcat y nginx para servicios web, pero al no ser una web, no se como hacerlo. tampoco se si se pueden usar estos programas para lo que yo quiero, que creo que no.
Soy nuevo con los servidores. Les cuento un poco.
He creado una aplicación que no es una página web, si no una aplicación que se ejecuta y abre un puerto para comunicación por medio de socket. y según el mensaje recibido realiza una determinada acción en la base de datos. la aplicación funciona bien, me conecto desde un dispositivo externo y va bien, y si me conecto desde mi pc lo mismo, funciona bien. mi problema era que cuando cerraba la terminal desde donde ejecute la aplicación, mi aplicación se cerraba.
Por lo que necesitaba ejecutarla de otra manera, conseguí un comando para cerrar la terminal sin cerrar la aplicacion y todo bien. pero qué sucede si había un problema y se cerraba la aplicación por un error que no capture?
Por lo que necesitaba hacer algo que si la aplicación se cerraba se volviera a abrir. ya que dispositivos dependen de ella, y no puedo dejarla sin funcionamiento.
investigando un poco lo he solucionado creando una instrucción con crontab que cada minuto intenta abrir la aplicación, si no está abierta la abre, y si ya está abierta, como el puerto está en uso no puede iniciarse. con esto me funciona, he mandado comandos para cerrar la aplicación y deja de funcionar con un máximo de 1 min, que es cuando se vuelva a ejecutar la instrucción del crontab. por lo tanto mi problema ya esta solucionado.
Pero tengo una duda, es esta la manera más eficiente de hacer que mi aplicacion se mantenga activa? porque al intentar abrir constantemente cada 1 minuto la aplicación, no se si sea esto muy eficiente (lo dijo porque no inicia por un error de puerto ocupado). y mi pregunta seria esa, hay alguna otra manera de hacerlo? o no pasa nada que lo tenga asi?
Sería más eficiente crean un script que pregunte si ese puerto está abierto? y si lo está quiere decir que la aplicación está funcionando, y si está cerrado inicie la aplicación porque quiere decir que no se está ejecutando? esto seria mas conveniente?
o para realizar esto que quiero hacer existe alguna herramienta?
Si alguien me puede asesorar un poco se lo agradeceria, ya que si me funciona, pero dudo que lo esté haciendo bien. y no consigo mucha información por internet respecto a esto. Consigo información sobre tomcat y nginx para servicios web, pero al no ser una web, no se como hacerlo. tampoco se si se pueden usar estos programas para lo que yo quiero, que creo que no.
Valora esta pregunta


0