Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 32993|Válasz: 0

[Forrás] Tüntesd közzé a projektedet egy távoli IIS szerverre a VS 2019 használatával

[Linket másol]
Közzétéve 2020. 10. 09. 12:09:22 | | | |
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)




Előző:Építs egy ocserv vpn proxyt CentOS 7-re
Következő:Aspose.Cellák Három Muskétás
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com