despliegue y monitoreo de aplicaciones asp.net core en linux
TRANSCRIPT
![Page 1: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/1.jpg)
Despliegue y Monitoreo de aplicaciones ASP.NET Core
en Linux
Rodolfo Finochietti@rodolfofCOO
![Page 2: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/2.jpg)
.NET Core 1.1
![Page 3: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/3.jpg)
Despliegue y monitoreo en Linux
4 pasos Instalar software de base Compilar y armar el paquete de nuestra aplicación Configurar el ambiente de ejecución Configurar el monitoreo
![Page 4: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/4.jpg)
Instalando software de base SO .NET
http://dot.net Otra opción es compilar una app “Self-Contained”
Proxy reverso Apache Ngnix Seguridad
Apparmor Monitoreo
systemd Supervisor New Relic
![Page 5: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/5.jpg)
Generando el paquete de distribución dotnet publish Cuidado con incluir todos los directorios!
publishOptions en el archivo project.json
Opcionalmente se puede armar un paquete “Self-Contained” Borrar type="platform“ en el archivo project.json Incluir la sección runtimes
"runtimes": { "win10-x64": {}, "osx.10.10-x64": {}, "ubuntu.14.04-x64": {} }
dotnet build -r ubuntu.14.04-x64 dotnet publish -c release -r ubuntu.14.04-x64
![Page 6: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/6.jpg)
Configurando el ambiente de ejecuciónProxy Reverso
![Page 7: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/7.jpg)
Ngnix básico Instalación
sudo apt-get install nginx Configuración básica
server { listen 80; location / {
proxy_pass http://localhost:5000proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection keep-alive;proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;
}}
![Page 8: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/8.jpg)
Ngnix básico Probar configuración
sudo nginx -t Cargar configuración
sudo nginx -s reload
![Page 9: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/9.jpg)
Monitoreo ¿Quien se encarga de controlar el funcionamiento de mi aplicación? Caídas Consumo de recursos Logs
Algunas opciones de monitores Supervisor systemd New Relic
![Page 10: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/10.jpg)
Supervisor Software de monitoreo fácil de configurar y usar
Instalación sudo apt-get install supervisor
Configuración básicasudo nano /etc/supervisor/supervisord.conf [program:myapp]command=/usr/bin/dotnet /home/myapp/myapp.dlldirectory=/home/myappautostart=trueautorestart=truestderr_logfile=/var/log/myapp.err.logstdout_logfile=/var/log/myapp.out.logenvironment=ASPNETCORE_ENVIRONMENT=Productionuser=www-datastopsignal=QUIT
![Page 11: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/11.jpg)
Supervisor Iniciar el monitoreo
sudo service supervisor start Todo queda en los logs
sudo tail -f /var/log/myapp.out.log sudo tail -f /var/log/supervisor/supervisord.log
![Page 12: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/12.jpg)
systemdInit system en la mayoría de las distros de Linux
![Page 13: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/13.jpg)
Demo
![Page 14: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux](https://reader036.vdocuments.net/reader036/viewer/2022062311/58eeeeb41a28ab44598b4651/html5/thumbnails/14.jpg)
¿Preguntas?