Régen, amikor projekteket publikáltak, a fájlokat lemásolták és beillesztették az oldali könyvtárba, vagy FTP-n keresztül töltötték fel a weboldal könyvtárába, de most, hogy a folyamatos integráció, az automatizált üzemeltetés és karbantartás, valamint az automatikus kiadás megjelenik, a kiadói projektek is napról napra változnak.
Ez a cikk bemutatja, hogyan lehet távolról publikálni távolról IIS oldalra a VS 2019 segítségével.
Távoli szerver rendszer: Windows Server 2019 64-bit
Szerver konfiguráció
1. IIS hozzáadása, .NET framework telepítése (kihagyva)
2. Töltse le és telepítse a Web Deploy-t
A Web Deploy segítségével webprojekteket telepíthet helyi és távolról a következő címen:A hiperlink bejelentkezés látható.
A telepítéskor válassza ki"Teljes"Telepítés után a szolgáltatásban megjelenik a "Web Management Service" szolgáltatás, ahogy az alábbi ábrán látható:
Ha nincs telepítve, a VS távoli közzétételkor a következő hibát kapja:
--------------------------- Microsoft Visual Studio --------------------------- Nem sikerült csatlakozni a távoli számítógéphez ("xx"). Győződj meg róla, hogy a Web Deploy telepítve van a távoli gépen, és elinduljon a szükséges folyamat ("Web Management Service"). További információt a következő oldalon:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 Nem tudok távoli szerverekhez csatlakozni --------------------------- Biztos vagy benne ---------------------------
3. Telepítse az "IIS Management Scripts and Tools" alkalmazást
Menjen a Szerver szerepek > Web Server (IIS) > Administratika Eszközök menübe, majd válassza ki az IIS Adminisztratív Szkriptek és Eszközök szerepet, kattintson a Következőre, és telepítse a szerepet.
4. Az IIS lehetővé teszi a távoli kapcsolatokat
Keresse meg a menedzsment szolgáltatást az IIS-ben, és engedélyezze a távoli kapcsolatokat, ahogy az alábbi képen látható:
(Megjegyzés:Nyisd meg a 8172-es bejövő portot a tűzfal és biztonsági csoportban)
5. Hozz létre egy új IIS oldalt
Hozz létre egy új oldalt test1 néven, ahogy az alábbi ábrán látható:
6. Az IIS adminisztratív felhasználókat ad hozzá
Hozzáadj egy IIS Manager felhasználót, ahogy az alábbi képen látható:
Ugyanakkor, a test1 oldalon adj hozzá engedélyt, ahogy az alábbi ábrán látható:
Ha nem adsz hozzá engedélyezést, a következő hibát jelented távolról történő közzétételkor:
--------------------------- Microsoft Visual Studio --------------------------- Csatlakoztál egy távoli számítógéphez ("xxx") a webkezelő szolgáltatás segítségével, de nem tudtad engedélyezni. Győződj meg róla, hogy a megfelelő felhasználónevet és jelszót használod, hogy a kapcsolódó oldal már létezik, és hogy a felhasználó, akinek a hitelesítő adatai képviselnek, hozzáférjen az oldalhoz. További információt a következő oldalon:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 A távoli szerver egy hibát ad vissza: (401) Engedély nélkül. --------------------------- Biztos vagy benne --------------------------- MVC ASP.NET kiadás
Először hozzon létre egy új .NET 4.6.2 asp.net mvc projektet WebAutomatedDeployment nevű VS 2019 használatával,
Két új könyvtárat hozz létre, és a weboldal program egyszerre hivatkozik ezekre a könyvtárakra. (Hozzon létre és hivatkozz 2 könyvtárra, mert a szimuláció közelebb áll a hivatalos projekthez)
Próbáld meg az alábbi módon elindítani a projektet:
Jobb kattintással a projektre, válassza ki a Publish, Web Server (IIS)-> Web Deployment (Publish), és töltse ki a szerver adatait, ahogy az alábbi ábrán látható:
Ellenőrizd a kapcsolatot, és a teszt sikeres lesz, ahogy az alábbi képen is látható:
Amikor megpróbáltam publikálni, a hiba a következő volt:
A webes telepítési feladat megbukott. ((2020/10/9 11:34:38) Hibafeldolgozási kérés a távoli számítógépen. )
(2020/10/9 11:34:38) Hibafeldolgozási kérés távoli számítógépen. A szervernek gondja van a kérés feldolgozásával. A részletekért keresse fel a szerveradminisztrátorát. WebAutomatedDeployment 0 Specifikus hibákat a szerver eseménynézőn keresztül lehet megtekinteni, ahogy az alábbi ábrán látható:
User: itsvse Kliens 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: A klienshez terjedt trace deployment agent exception. Kérelemazonosító: "def8d9f7-1a72-4b19-8b75-919f8c6a9604", időbélyeg: "2020/10/9 11:51:29". Hiba részletei:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。 A System.Security.AccessControl.Win32.SetSecurityInfo (ResourceType type, String name, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl) a System.Security.AccessControl.NativeObjectSecurity.Persist (String name, SafeHandle handle, AccessControlSections includeSections, Object exceptionContext) A 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) at Microsoft.Web.Deployment.Deployment.DeploymentObject.Update(DeploymentObject source, DeploymentSyncContext syncContext) a Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate (DeploymentObject destObject, DeploymentObject sourceObject) címen at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source) at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject) A 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) at Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData) at Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData) Megoldás:
Indítsd újra a VS Tools-t, kattints a Publish gombra, és a következő kép jelenik meg:
Nézd meg "Mentsd meg ezt a tanúsítványt a jövőbeli Visual Studia ülésekre" megoldható.
Az első megjelenéskor lassú volt, mert az összes fájlt fel kellett tölteni a szerverre, ahogy az alábbi ábrán látható:
Próbáld meg módosítani az Index.cshtml oldalfájlt, és kattints a Újra közzétételre, csak a következő 3 fájl frissül, ahogy az alábbi ábrán látható:
Frissítsd a weboldalt, és tapasztald meg, hogy frissítették, ahogy az alábbiakban látható:
(Vége)
|