Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 32993|Odpověď: 0

[Zdroj] Publikujte svůj projekt na vzdálený IIS server pomocí VS 2019

[Kopírovat odkaz]
Zveřejněno 09.10.2020 12:09:22 | | | |
V minulosti se při publikování projektů soubory kopírovaly a vkládaly do adresáře webu nebo nahrávaly přes FTP, ale nyní s nástupem kontinuální integrace, automatizovaného provozu a údržby a automatizovaného publikování se publikační projekty mění s každým dnem.

Tento článek popisuje, jak publikovat na dálku na vzdálené místo IIS prostřednictvím VS 2019.

Vzdálený serverový systém: Windows Server 2019 64-bit

Konfigurace serveru

1. Přidat IIS, nainstalovat .NET framework (vynecháno)

2. Stáhnout a nainstalovat Web Deploy

Web Deploy lze použít k nasazování webových projektů lokálně i vzdáleně na následující adrese:Přihlášení k hypertextovému odkazu je viditelné.



Při instalaci vyberte"Dokončeno"Po instalaci uvidíte službu "Web Management Service" ve službě, jak je znázorněno na obrázku níže:



Pokud není nainstalován, VS při vzdáleném publikování zobrazí následující chybu:

---------------------------
Microsoft Visual Studio
---------------------------
Nepodařilo se připojit k vzdálenému počítači ("xx"). Ujistěte se, že je na vzdáleném počítači nainstalován Web Deploy a že je spuštěn požadovaný proces ("Web Management Service").  Více informací na:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 Nemohu se připojit k vzdáleným serverům
---------------------------
Opravdu   
---------------------------


3. Instalace "IIS Management Scripts and Tools"

Přejděte na Výběr rolí serveru > Web Server (IIS) > Administrativní nástroje, poté vyberte roli IIS Administrátorské skripty a nástroje, klikněte na Další a nainstalujte roli.



4. IIS umožňuje vzdálená připojení

Najděte správu v IIS a povolte vzdálená připojení, jak je znázorněno na následujícím obrázku:





(Poznámka:Otevřete příchozí port 8172 ve skupině firewallu a bezpečnosti

5. Vytvořit nový IIS web

Vytvořte nový web s názvem test1, jak je znázorněno na následujícím obrázku:



6. IIS přidává administrativní uživatele

Přidejte uživatele Správce IIS, jak je znázorněno na následujícím obrázku:



Současně na stránce test1 přidejte autorizaci, jak je znázorněno na obrázku níže:



Pokud autorizaci nepřidáte, při vzdáleném publikování bude hlášena následující chyba:

---------------------------
Microsoft Visual Studio
---------------------------
Připojili jste se k vzdálenému počítači ("xxx") pomocí služby správy webu, ale nepodařilo se vám jej autorizovat. Ujistěte se, že používáte správné uživatelské jméno a heslo, že stránka, ke které jste připojeni, již existuje, a že uživatel, jehož přihlašovací údaje představují, má přístup k této stránce.  Více informací na:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 Vzdálený server vrací chybu: (401) Neautorizované.
---------------------------
Opravdu   
---------------------------
Vydání ASP.NET projektu MVC

Nejprve vytvořte nový .NET 4.6.2 asp.net mvc projekt s názvem WebAutomatedDeployment pomocí VS 2019,

Vytvořte dvě nové knihovny a program na webu odkazuje na tyto dvě knihovny současně. (Vytvořte a odkazujte na 2 knihovny, protože simulace je blíže oficiálnímu projektu)


Zkuste začít projekt tak, jak je vidět níže:



Klikněte pravým tlačítkem na projekt, vyberte Publikovat, Web Server (IIS)-> Web Deployment a vyplnit informace o serveru, jak je znázorněno na následujícím obrázku:



Ověřte spojení a test projde, jak je znázorněno na následujícím obrázku:



Když jsem se pokusil publikovat, chyba byla následující:

Úkol nasazení webu selhal. ((2020/10/9 11:34:38) Žádost o zpracování chyb na vzdáleném počítači. )

(9.10.2020 11:34:38) Žádost o zpracování chyb na vzdáleném počítači.
Server má potíže se zpracováním požadavku. Pro podrobnosti kontaktujte správce serveru.        WebAutomatedDeployment 0
Konkrétní chyby si můžete prohlédnout prostřednictvím Server Event Viewer, jak je znázorněno na následujícím obrázku:



User: itsvse
IP klienta: 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:
Došlo k výjimce agenta nasazení trasy, která byla předána klientovi. ID požadavku "def8d9f7-1a72-4b19-8b75-919f8c6a9604", časové razítko požadavku: "2020/10/9 11:51:29". Detaily chyby:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。
   V System.Security.AccessControl.Win32.SetSecurityInfo(typ zdroje, název řetězce, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl)
   na System.Security.AccessControl.NativeObjectSecurity.Persist(Název řetězce, SafeHandle handle, AccessControlSections includeSections, Object exceptionContext)
   V System.Security.AccessControl.NativeObjectSecurity.Persist(Název řetězce, AccessControlSections includeSections, Object exceptionContext)
   at Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(String path, Boolean isFile)
   at Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject source, Boolean whatIf)
   na Microsoft.Web.Deployment.DeploymentObject.Update (zdroj DeploymentObject, DeploymentSyncContext syncContext)
   na Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject)
   na Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
   na Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DestinationObject, DeploymentObject sourceObject)
   V Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, 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)
Řešení:

Restartujte VS Tools, klikněte na Publikovat a zobrazí se následující obrázek:



Zkontrolováno "Tento certifikát si uložte na budoucí lekce ve Visual Studia" lze vyřešit.

Při prvním zveřejnění to bylo pomalé, protože všechny soubory bylo třeba nahrát na server, jak je znázorněno na obrázku níže:



Zkuste upravit soubor stránky Index.cshtml a klikněte na Znovu publikovat, aktualizují se pouze následující 3 soubory, jak je znázorněno na obrázku níže:



Obnovte webové stránky a zjistěte, že byly aktualizovány, jak je uvedeno níže:



(Konec)




Předchozí:Vytvořit ocserv VPN proxy na CentOS 7
Další:Postavit. Buňky Tři mušketýři
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com