Aiemmin, kun projektit julkaistiin, tiedostot kopioitiin ja liitettiin sivustohakemistoon tai ladattiin sivustohakemistoon FTP:n kautta, mutta nyt jatkuvan integraation, automatisoidun toiminnan ja ylläpidon sekä automatisoidun julkaisemisen myötä myös julkaisuprojektit muuttuvat päivä päivältä.
Tässä artikkelissa kuvataan, miten etänä julkaistaan etänä etä-IIS-sivustolle VS 2019:n kautta.
Etäpalvelinjärjestelmä: Windows Server 2019 64-bittinen
Palvelimen kokoonpano
1. Lisää IIS, asenna .NET framework (poistettu)
2. Lataa ja asenna Web Deploy
Web Deploya voidaan käyttää web-projektien toteuttamiseen paikallisesti ja etänä seuraavassa osoitteessa:Hyperlinkin kirjautuminen on näkyvissä.
Asennushetkellä valitse"Valmis"Asennuksen jälkeen näet palvelussa "Web Management Service" -palvelun, kuten alla olevassa kuvassa näkyy:
Jos sitä ei ole asennettu, VS saa seuraavan virheen etänä julkaistuna:
--------------------------- Microsoft Visual Studio --------------------------- Ei onnistunut yhdistämään etätietokoneeseen ("xx"). Varmista, että Web Deploy on asennettu etäkoneelle ja vaadittu prosessi ("Web Management Service") käynnistetään. Lue lisää osoitteessa:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 Etäpalvelimiin ei pysty yhdistämään --------------------------- Oletko varma ---------------------------
3. Asenna "IIS:n hallintaskriptit ja työkalut"
Mene valitsemaan Server Roles > Web Server (IIS) > Administrative Tools, valitse IIS Administrative Scripts and Tools -rooli, klikkaa Seuraava ja asenna rooli.
4. IIS mahdollistaa etäyhteydet
Etsi hallintapalvelu IIS:ssä ja ota etäyhteydet käyttöön, kuten seuraavassa kuvassa näkyy:
(Huomautus:Avaa 8172:n saapuva portti palomuuri- ja tietoturvaryhmässä)
5. Luo uusi IIS-sivusto
Luo uusi sivusto nimeltä test1, kuten seuraavassa kuvassa näkyy:
6. IIS lisää hallinnollisia käyttäjiä
Lisää IIS Manager -käyttäjä, kuten seuraavassa kuvassa näkyy:
Samaan aikaan test1-sivustolla lisää valtuutus, kuten alla olevassa kuvassa näkyy:
Jos et lisää valtuusta, seuraava virhe raportoidaan etänä julkaistuna:
--------------------------- Microsoft Visual Studio --------------------------- Olet yhdistänyt etätietokoneeseen ("xxx") web-hallintapalvelun kautta, mutta et ole valtuutettu sitä. Varmista, että käytät oikeaa käyttäjätunnusta ja salasanaa, että sivusto, johon olet yhteydessä, on jo olemassa ja että käyttäjä, jonka tunnukset edustavat, pääsee sivustolle. Lue lisää osoitteessa:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 Etäpalvelin palauttaa virheen: (401) Valtuutettu. --------------------------- Oletko varma --------------------------- Julkaisu ASP.NET MVC-projekti
Ensiksi luodaan uusi .NET 4.6.2 asp.net mvc -projekti nimellä WebAutomatedDeployment käyttäen VS 2019:ää,
Luo kaksi uutta kirjastoa, ja verkkosivuston ohjelma viittaa näihin kahteen kirjastoon samanaikaisesti. (Luo ja viittaa kahteen kirjastoon, koska simulaatio on lähempänä virallista projektia)
Kokeile aloittaa projekti alla esitetyllä tavalla:
Napsauta projektia hiiren oikealla, valitse Julkaise, Web Server (IIS)-> Web Deployment ja täytä palvelintiedot, kuten seuraavassa kuvassa näkyy:
Varmista yhteys ja testi läpäisee, kuten seuraavassa kuvassa näkyy:
Kun yritin julkaista, virhe oli seuraava:
Webin käyttöönottotehtävä epäonnistui. ((2020/10/9 11:34:38) Virhekäsittelypyyntö etätietokoneella. )
(2020/10/9 11:34:38) Virheenkäsittelypyyntö etätietokoneella. Palvelimella on vaikeuksia käsitellä pyyntöä. Ota yhteyttä palvelimen ylläpitäjään saadaksesi lisätietoja. WebAutomatedDeployment 0 Voit tarkastella tiettyjä virheitä Server Event Viewerin kautta, kuten seuraavassa kuvassa näkyy:
User: itsvse Asiakkaan 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: Jäljitysagentin poikkeus levitettiin asiakkaalle. Pyynnön tunnus "def8d9f7-1a72-4b19-8b75-919f8c6a9604", pyydän aikaleima: "2020/10/9 11:51:29". Virhetiedot:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。 System.Security.AccessControl.Win32.SetSecurityInfo (ResourceType type, String name, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl) osoitteessa System.Security.AccessControl.NativeObjectSecurity.Persist(merkkijonon nimi, SafeHandle-kahva, AccessControlSections includeSections, Object exceptionContext) System.Security.AccessControl.NativeObjectSecurity.Persist(merkkijonon nimi, AccessControlSections includeSections, Object exceptionContext) osoitteessa Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(String path, Boolean isFile) at Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject source, Boolean whatIf) osoitteessa Microsoft.Web.Deployment.DeploymentObject.Update(DeploymentObject source, DeploymentSyncContext syncContext) osoitteessa Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject) osoitteessa Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source) osoitteessa Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject) In Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable'1 syncPassId, String syncSessionId) at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable'1 passId, String user, String siteName) osoitteessa Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData) osoitteessa Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData) Ratkaisu:
Käynnistä VS Tools uudelleen, klikkaa Julkaise, ja seuraava kuva ilmestyy:
Tarkista "Tallenna tämä sertifikaatti tulevia Visual Studia -sessioita varten" voidaan ratkaista.
Ensimmäisellä julkaisukerralla se oli hidas, koska kaikki tiedostot piti ladata palvelimelle, kuten alla olevassa kuvassa näkyy:
Yritä muokata Index.cshtml-sivutiedostoa ja klikkaa Julkaise uudelleen, vain seuraavat kolme tiedostoa päivittyvät, kuten alla olevassa kuvassa näkyy:
Päivitä verkkosivusto ja huomaa, että se on päivitetty, kuten alla on esitetty:
(Loppu)
|