Creando un servicio de Linux para tu App
Si estás en el proceso de publicar tu aplicación en Internet para la puesta en producción, es muy recomendable la creación de un servicio en el sistema operativo.

Si estás en el proceso de publicar tu aplicación en Internet para la puesta en producción, es muy recomendable la creación de un servicio en el sistema operativo para que se ejecute de manera independiente a las conexiones SSH. Crear el servicio no solamente permitirá la ejecución independiente, sino que además te permitirá supervisar, detener e iniciar el servicio con fines administrativos y de mantenimiento.
En linux, el responsable de administrar los servicios del sistema es el Demonio systemd. Este es el proceso inicial que se encarga de arrancar todos los procesos del sistema y por tal motivo se identifica con el PID 1. Mediante los comandos de systemd podrás detener y reinciar tu aplicación .NET para que el reverse proxi Nginex o Apache reenvíen las peticiones HTTP del puerto 80 a Kestrel en localhost 27.0.0.1:#pto. Systemd también proporciona facilidades de registro como conexiones y bitácoras que pueden ser consultadas por el administrador.
Para crear el archivo de configuración del servicio ejecutar el comando:
sudo nano /etc/systemd/system/kestrel-app.service
En donde “kestrel-app.service” es el nombre del nuevo servicio y debería ser sustituido por el un nombre sugerente de nuestra aplicación. Las entradas de atributos de este archivo [Unit], [Service] e [Install], es común definirlas como en el siguiente ejemplo:
[Unit] Description=Descripción de nuestra aplicación [Service] WorkingDirectory=/var/www/app ExecStart=/usr/bin/dotnet /var/www/app/app.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-ejemplo User=root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_NOLOGO=true [Install] WantedBy=multi-user.target
En estas entradas, generalmente el usuario es root o algún otro que tenga jerarquía similar.
Después de guardar el archivo de configuración se deberá habilitar el servicio con:
sudo systemctl enable kestrel-app.service
Y posteriormente iniciar el servicio:
sudo systemctl start kestrel-app.service
Para verificar que la aplicación ya está ejecutándose, dar la siguiente instrucción:
sudo systemctl status kestrel-app.service
El sistema deberá informar el status con kestrel publicando la aplicación en localhost. Eso es todo, ahora la aplicación estará disponible en Internet de manera indefinida.
Suscríbete al Blog
Obtén las últimas noticias en tu correo!Leer siguientes
Reencuentro con Linux
Muchos CIO's han confesado que jamás en su vida profesional fueron partidarios del software libre o del código abierto. Pero...

Creando un servicio de Linux para tu App

Preparar el ambiente de ejecución en tu servidor
