Agrāk, publicējot projektus, faili tika kopēti un ielīmēti vietnes direktorijā vai augšupielādēti vietnes direktorijā, izmantojot FTP, bet tagad, parādoties nepārtrauktai integrācijai, automatizētai darbībai un uzturēšanai, kā arī automatizētai publicēšanai, publicēšanas projekti mainās arī ar katru dienu.
Šajā rakstā ir aprakstīts, kā attālināti publicēt attālajā IIS vietnē, izmantojot VS 2019.
Attālā servera sistēma: Windows Server 2019 64 bitu
Servera konfigurācija
1. Pievienojiet IIS, instalējiet .NET Framework (izlaists)
2. Tīmekļa izvietošanas lejupielāde un instalēšana
Web izvietošanu var izmantot, lai izvietotu tīmekļa projektus lokāli un attālināti šādā adresē:Hipersaites pieteikšanās ir redzama.
Instalēšanas laikā atlasiet"Pabeigts"Pēc instalēšanas pakalpojumā redzēsiet pakalpojumu "Web Management Service", kā parādīts zemāk redzamajā attēlā:
Ja tas nav instalēts, VS attālināti publicējot saņems šādu kļūdu:
--------------------------- Microsoft Visual Studio --------------------------- Neizdevās izveidot savienojumu ar attālo datoru ("xx"). Pārliecinieties, vai attālajā datorā ir instalēta tīmekļa izvietošana un ir sākts nepieciešamais process ("Web pārvaldības pakalpojums"). Uzziniet vairāk:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 Nevar izveidot savienojumu ar attālajiem serveriem --------------------------- Vai esi pārliecināts ---------------------------
3. Instalējiet "IIS pārvaldības skriptus un rīkus"
Dodieties uz Servera lomu atlase > Web serveris (IIS) > Administratīvie rīki, pēc tam atlasiet lomu IIS administratīvie skripti un rīki, noklikšķiniet uz Tālāk un instalējiet lomu.
4. IIS iespējo attālos savienojumus
Atrodiet pārvaldības pakalpojumu IIS un iespējojiet attālos savienojumus, kā parādīts šajā attēlā:
(Piezīme:Atveriet 8172 ienākošo portu ugunsmūra un drošības grupā)
5. Jaunas IIS vietnes izveide
Izveidojiet jaunu vietni ar nosaukumu test1, kā parādīts šajā attēlā:
6. IIS pievieno administratīvos lietotājus
IIS pārvaldnieka lietotāja pievienošana, kā parādīts šajā attēlā:
Tajā pašā laikā test1 vietnē pievienojiet autorizāciju, kā parādīts zemāk redzamajā attēlā:
Ja nepievienojat autorizāciju, publicējot attālināti, tiks ziņots par šādu kļūdu:
--------------------------- Microsoft Visual Studio --------------------------- Jūs esat izveidojis savienojumu ar attālo datoru ("xxx"), izmantojot tīmekļa pārvaldības pakalpojumu, bet neesat to autorizējis. Pārliecinieties, vai izmantojat pareizo lietotājvārdu un paroli, vai vietne, ar kuru esat izveidojis savienojumu, jau pastāv un vai lietotājam, kura akreditācijas dati ir norādīti, ir piekļuve vietnei. Uzziniet vairāk:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 Attālais serveris atgriež kļūdu: (401) Neautorizēts. --------------------------- Vai esi pārliecināts --------------------------- MVC projekta ASP.NET izlaidums
Pirmkārt, izveidojiet jaunu .NET 4.6.2 asp.net mvc projektu ar nosaukumu WebAutomatedDeployment, izmantojot VS 2019,
Izveidojiet divas jaunas bibliotēkas, un tīmekļa vietnes programma atsaucas uz šīm divām bibliotēkām vienlaikus. (Izveidojiet un atsaucieties uz 2 bibliotēkām, jo simulācija ir tuvāka oficiālajam projektam)
Mēģiniet sākt projektu, kā parādīts tālāk:
Ar peles labo pogu noklikšķiniet uz projekta, atlasiet Publicēt, Web servera (IIS) > Web izvietošana un aizpildiet servera informāciju, kā parādīts šajā attēlā:
Pārbaudiet savienojumu un pārbaude ir izturējusi, kā parādīts šajā attēlā:
Kad es mēģināju publicēt, kļūda bija šāda:
Tīmekļa izvietošanas uzdevums neizdevās. ((2020/10/9 11:34:38) Kļūda pieprasījuma apstrādē attālajā datorā. )
(2020/10/9 11:34:38) Kļūda pieprasījuma apstrādē attālajā datorā. Serverim rodas problēmas ar pieprasījuma apstrādi. Lai iegūtu detalizētu informāciju, sazinieties ar servera administratoru. WebAutomatedDeployment 0 Varat skatīt konkrētas kļūdas, izmantojot servera notikumu skatītāju, kā parādīts šajā attēlā:
User: itsvse Klienta IP: 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: Klientam tika izplatīts izsekošanas izvietošanas aģenta izņēmums. Pieprasījuma ID "def8d9f7-1a72-4b19-8b75-919f8c6a9604", pieprasījuma laika zīmogs: "2020/10/9 11:51:29". Detalizēta informācija par kļūdu:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。 Sadaļā System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType tips, Virknes nosaukums, SafeHandle turis, SecurityInfos securityInformation, SecurityIdentifier īpašnieks, SecurityIdentifier grupa, GenericAcl sacl, GenericAcl dacl) vietnē System.Security.AccessControl.NativeObjectSecurity.Persist(Virknes nosaukums, SafeHandle turis, AccessControlSections includeSections, Object exceptionContext) Sadaļā System.Security.AccessControl.NativeObjectSecurity.Persist(Virknes nosaukums, AccessControlSections includeSections, Object exceptionContext) vietnē Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(Virknes ceļš, Būla isFile) vietnē Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject avots, Būla whatIf) vietnē Microsoft.Web.Deployment.DeploymentObject.Update(DeploymentObject avots, DeploymentSyncContext syncContext) vietnē Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject) vietnē Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject avots) vietnē Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject) Sadaļā Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable'1 syncPassId, String syncSessionId) vietnē Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable'1 passId, String user, String siteName) vietnē Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData) vietnē Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData) Šķīdums:
Restartējiet VS Tools, noklikšķiniet uz Publicēt, un parādīsies šāds attēls:
Pārbaudiet "Saglabājiet šo sertifikātu nākamajām sesijām Visual Studia" var atrisināt.
Pirmo reizi tas tika publicēts, tas bija lēns, jo visi faili bija jāaugšupielādē serverī, kā parādīts zemāk redzamajā attēlā:
Mēģiniet modificēt lapas failu Index.cshtml un noklikšķiniet uz Atkārtoti publicēt, tiks atjaunināti tikai šie 3 faili, kā parādīts zemāk redzamajā attēlā:
Atsvaidziniet tīmekļa vietni un konstatējiet, ka tā ir atjaunināta, kā parādīts tālāk.
(Beigas)
|