Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 32993|Respuesta: 0

[Fuente] Publica tu proyecto en un servidor IIS remoto usando VS 2019

[Copiar enlace]
Publicado en 9/10/2020 12:09:22 | | | |
En el pasado, al publicar proyectos, los archivos se copiaban y pegaban en el directorio del sitio, o se subían al directorio del sitio mediante FTP, pero ahora, con la aparición de la integración continua, la operación y mantenimiento automatizados, y la publicación automatizada, los proyectos de publicación también están cambiando con cada día que pasa.

Este artículo describe cómo publicar remotamente en un sitio IIS remoto a través de VS 2019.

Sistema de servidor remoto: Windows Server 2019 de 64 bits

Configuración del servidor

1. Añadir IIS, instalar .NET framework (omitido)

2. Descargar e instalar Web Deploy

Web Deploy puede utilizarse para desplegar proyectos web local y remotamente en la siguiente dirección:El inicio de sesión del hipervínculo es visible.



En el momento de la instalación, seleccione"Completo"Tras la instalación, verás el servicio "Web Management Service" en el servicio, como se muestra en la figura siguiente:



Si no está instalado, VS recibirá el siguiente error al publicar remotamente:

---------------------------
Microsoft Visual Studio
---------------------------
No se ha podido conectar al ordenador remoto ("xx"). Asegúrate de que Web Deploy esté instalado en la máquina remota y que se inicie el proceso requerido ("Web Management Service").  Más información en:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 No se puede conectar a servidores remotos
---------------------------
Estás seguro   
---------------------------


3. Instalar "scripts y herramientas de gestión IIS"

Ve a Seleccionar Roles de Servidor > Servidor Web (IIS) > Herramientas Administrativas, luego selecciona el rol de Scripts y Herramientas Administrativas IIS, haz clic en Siguiente e instala el rol.



4. IIS permite conexiones remotas

Localiza el servicio de gestión en IIS y activa las conexiones remotas, como se muestra en la siguiente imagen:





(Nota:Abre el puerto entrante 8172 en el cortafuegos y el grupo de seguridad

5. Crear un nuevo sitio IIS

Crea un nuevo sitio llamado test1, como se muestra en la siguiente figura:



6. IIS añade usuarios administrativos

Añadir un usuario de IIS Manager, como se muestra en la siguiente imagen:



Al mismo tiempo, en el sitio test1, añadir autorización, como se muestra en la figura siguiente:



Si no añades autorización, se reportará el siguiente error al publicar remotamente:

---------------------------
Microsoft Visual Studio
---------------------------
Te has conectado a un ordenador remoto ("xxx") usando el servicio de gestión web, pero no has autorizado el proceso. Asegúrate de usar el nombre de usuario y la contraseña correctos, de que el sitio al que estás conectado ya exista y que el usuario cuyas credenciales representan tenga acceso al sitio.  Más información en:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 El servidor remoto devuelve un error: (401) No autorizado.
---------------------------
Estás seguro   
---------------------------
Lanzamiento ASP.NET proyecto MVC

Primero, crear un nuevo proyecto MVC .NET 4.6.2 asp.net con el nombre WebAutomatedDeployment usando VS 2019,

Crea dos nuevas bibliotecas y el programa web hace referencia a estas dos bibliotecas al mismo tiempo. (Crear y referenciar 2 bibliotecas porque la simulación está más cerca del proyecto oficial)


Intenta empezar el proyecto como se muestra a continuación:



Haz clic derecho en el proyecto, selecciona Publicar, Web Server (IIS)-> Web Deployment y rellena la información del servidor, como se muestra en la siguiente figura:



Verifica la conexión y la prueba pasa, como se muestra en la siguiente imagen:



Cuando intenté publicar, el error fue el siguiente:

La tarea de despliegue web falló. ((9/10/2020 11:34:38) Solicitud de procesamiento de error en un ordenador remoto. )

(9/10/2020 11:34:38) Solicitud de procesamiento de error en un ordenador remoto.
El servidor está teniendo problemas para procesar la solicitud. Contacta con el administrador de tu servidor para más detalles.        WebAutomatedDeployment 0
Puedes ver errores específicos a través del Visor de Eventos del Servidor, como se muestra en la siguiente figura:



User: itsvse
IP del cliente: xxx
Content-Type: application/msdeploy
Version: 9.0.0.0
MSDeploy.VersionMin: 7.1.600.0
MSDeploy.VersionMax: 9.0.3802.0
MSDeploy.Method: Sync
MSDeploy.RequestId: def8d9f7-1a72-4b19-8b75-919f8c6a9604
MSDeploy.RequestCulture: zh-CN
MSDeploy.RequestUICulture: zh-CN
ServerVersion: 9.0.1973.0
Skip: objectName="^configProtectedData$"
Provider: auto, Path:
Se produjo una excepción de agente de despliegue de traza propagada al cliente. ID de la solicitud "def8d9f7-1a72-4b19-8b75-919f8c6a9604", marca de tiempo de la solicitud: "2020/10/9 11:51:29". Detalles del error:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。
   En System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType type, nombre de cadena, SafeHandle handle, SecurityInfos securityInformation, propietario de SecurityIdentifique, grupo SecurityIdentifiqued, GenericAcl sacl, GenericAcl dacl)
   en System.Security.AccessControl.NativeObjectSecurity.Persist(Nombre de cadena, HandleSafeHandle, AccessControlSections incluySections, Object exceptionContext)
   En System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections, Object exceptionContext)
   at Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(String path, Boolean isFile)
   at Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject source, Boolean whatIf)
   en Microsoft.Web.Deployment.DeploymentObject.Update(SourceDeploymentObject, DeploymentSyncContext syncContext)
   en Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObjectSourceObject)
   en Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
   en Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObjectDestinationObject, DeploymentObjectSourceObject)
   En Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable'1 syncPassId, String syncSessionId)
   en Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable'1 passId, String user, String siteName)
   at Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)
   at Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)
Solución:

Reinicia VS Tools, haz clic en Publicar y aparecerá la siguiente imagen:



Comprobado "Guarda este certificado para futuras sesiones en Visual Studia" se puede resolver.

La primera vez que se publicó, fue lento porque todos los archivos tenían que ser subidos al servidor, como se muestra en la figura siguiente:



Intenta modificar el archivo de página Index.cshtml y haz clic en Republicar; solo se actualizarán los siguientes 3 archivos, como se muestra en la figura siguiente:



Actualiza la página web y descubre que ha sido actualizada, como se muestra a continuación:



(Fin)




Anterior:Construye un proxy VPN OCSERV en CentOS 7
Próximo:Aspose.Cells Tres Mosqueteros
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com