Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

Latest commit

 

History

History
84 lines (54 loc) · 3.56 KB

Clase 8 - Deployment en IIS.md

File metadata and controls

84 lines (54 loc) · 3.56 KB

Deployment En IIS

Pasos para desplegar su proyecto de ASP.NET Web Api en IIS:

  1. Realizar el deploy de la webapi para esto pararnos en el proyecto WebApi y lanzar el siguiente comando dotnet publish -c Release, ahora nuestro release se encuentra dentro de nuestro proyecto de webapi en la carpeta bin/Release/netcoreapp2.X y es la carpeta llamada publish.

  2. Asegurarse que el servicio de SQL Server este iniciado. Ver el nombre del servidor de SQL Server y agregarlo al connectionstring del appsettings.json de nuestra web api.

  3. Antes de hacer el deployment, debo asegurarme de tener instalado IIS.

Vamos a:

Panel de control\Todos los elementos de Panel de control\Programas y características

alt text

Y allí, elegimos: "Activar o desactivar características de Windows". Allí dentro, ticker la opción Internet Information Services y todo su interior.

  1. Copiamos el proyecto (carpeta publish) y lo pegamos en C:\inetpub\wwwroot.

  2. Abrimos el Administrador de Internet Information Services (IIS). Esto llegamos haciendo run de "inetmgr" o buscando en Windows.

alt text

Ahora vamos a Módulos y nos fijamos si tenemos instalado el modulo "AspNetCoreModule" si no es el caso vamos aquí y descargamos .NET Core Runtime

alt text

Agregar un nuevo Sitio. Para ello se hace click derecho sobre “Sitios” y se Agrega un Nuevo sitio. Se le pone un nuevo nombre, se elige la ruta física del proyecto de la Web Api que acabamos de copiar y luego se elige el puerto 8080, 12345, o alguno que no esté en uso.

alt text

  1. Ahora vamos a Application Pools (encima de Sitios) y buscamos el pool que le asignamos al sitio (por lo general el nombre de este) y hacemos clic en este en .NET CLR Version seleccionamos No Managed Code aceptamos y listo

alt text

  1. Abrir SQL Server Management Studio. En nuestra instancia de la BD, buscamos la pestaña Servidor/Inicios de Sesión. Click derecho y le damos ‘Nuevo Inicio de Sesión’.

alt text

  1. Como nombre de inicio de sesión agregamos: IIS APPPOOL\Nombre_de_nuestro_sitio_en_IIS. Luego damos Aceptar.

  2. Vemos que se agregó un nuevo Inicio de Sesión. Le damos click derecho/propiedades.

alt text

  1. En roles del servidor, elegimos dbcreator/public/sysadmin y damos aceptar.

Solucionando problema: 405 methods not allowed PUT/DELETE

Para eso hay que agregar el siguiente código en nuestro web.config

<system.webServer>
  <modules runAllManagedModulesForAllRequests="false">
    <remove name="WebDAVModule" />
  </modules>
</system.webServer>

Quedando de esta manera:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">>
    <system.webServer>
      <modules runAllManagedModulesForAllRequests="false">
        <remove name="WebDAVModule" />
      </modules>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\Homeworks.WebApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 77a33815-ea40-4a42-a558-b4357066c184-->

Mas Info