IIS nicht ausgeführt ASP.NET Core-site - HTTP-Fehler 502.5
Wir haben einen Windows 2012 R2-Maschine.
Ich hatte eine vorhandene ASP.NET Core-Website auf, dass es hatte eine Arbeitsgruppe veröffentlicht ASP.NET Core-Seite ausgeführt.
Allerdings, wenn ich auf der Website veröffentlicht heute erneut einen Monat später, nachdem ich änderungen vorgenommen habe, kann ich keinen Zugriff auf die Seite nicht mehr und bekomme die folgende Fehlermeldung in meinem browser
HTTP-Fehler 502.5 - Prozess Scheitern
Für weitere Informationen besuchen Sie: http://go.microsoft.com/fwlink/?LinkID=808681
Wenn ich das log auf den server, und klicken Sie auf die exe-Datei in meinem Verzeichnis bereitgestellt, es öffnet sich die Eingabeaufforderung und zeigt auf meiner Website auf port 5000. Wenn ich auf die Website zugreifen auf http://localhost:5000 es funktioniert einwandfrei das problem ist also zu tun mit IIS und nicht der Seite selbst.
Wenn ich am server anmelden können, sehe ich Folgendes im Windows EventViewer
Anwendung "MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/MySite' mit physikalischen root 'D:\Sites\MySite\" konnte nicht starten mit der Kommandozeile '"%LAUNCHER_PATH%" %LAUNCHER_ARGS%', Fehlercode = '0x80070002 : 0.
Wenn ich auf den link in der browser-Fehlermeldung erwähnt Neuinstallation .net-Core-Hosting-bundle, welches ich habe. Aber die Fehlermeldung im browser ist das gleiche.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore requestTimeout="02:00:00" processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
Wenn ich mir meine app log Ordner eine stdout-Datei wird erstellt für jedes mal, wenn es versucht, auf diese Website zugreifen, aber jedes mal ist es von der Größe 0KB und leeren Inhalt.
Warum IIS Arbeit verweigern plötzlich wo er arbeitete in früheren, aber die app funktioniert, wenn ich auf die kompilierte exe-Datei direkt?
OB SIE ES GLAUBEN ODER NICHT: IN MEINEM FALL, ES PASSIERT BECAUSED ICH HABE EIN PROJEKT ANGELEGT MIT LEERZEICHEN AUF NAMEN
Danke! Zwar löste dieses Problem für mich!
Meine 502.5 wurde von einer NullReferenceException im Programm.cs-ich fand die Linie, die durch das starten der Anwendung von der Kommandozeile aus -> docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/...
Dank sehr viel.
InformationsquelleAutor dev2go | 2017-01-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein problem ist eine schlechte web.config-Datei:
Den Pfad %LAUNCHER_PATH% nicht auf Ihrem system vorhanden ist, ist es auch nicht gültig. Es sollte so etwas wie:
Beachten Sie, dass die web -.config-Datei wird komplett ignoriert, wenn die app gestartet wird von der Kommandozeile, das ist, warum Sie nicht die Fehlermeldung erhalten.
froh, dass es funktionierte, geschah das gleiche problem mir vor ein paar Tagen
Hat Visual Studio auch zurücksetzen Ihres web.config zurück in "%LAUNCHER_PATH%" in Visual Studio?
Visual Studio nicht verwenden Sie die web -.config-Datei komplett beim Debuggen, es gibt hauptsächlich nur für den IIS. IIRC, es ändert den Pfad zur Laufzeit verändern, ohne deine Datei
Yeah ich kann es in Visual Studio veröffentlichen, aber wenn ich auf den IIS habe ich manchmal vergessen, Visual Studio geändert es zurück
InformationsquelleAutor Camilo Terevinto
Ich hatte das gleiche problem, Mein Problem waren IIS nicht in der Lage war Sie den Weg zur dotnet. Ich war in der Lage, es zu beheben, indem Sie den Pfad zu der dotnet.exe
hast du den server neu starten müssen? Ich habe das gleiche Problem und IIS neu gestartet, um zu sehen, wenn es dir bis Sie den PFAD ändern, aber es nicht etwas ändern. Ich vermute, dass ein Neustart erforderlich, aber kann es nicht auf einem Produktions-server frei.
In meinem Fall dreht auf Last-Profil in der app-pool-Einstellungen gearbeitet. Es war falsch aus irgendeinem Grund, das scheint nicht in der Standard-Einstellung.
Wenn Sie dieses Problem haben mit einem 32-bit-Asp.Net Kern-app versuchen in diesem Zusammenhang Antwort
InformationsquelleAutor Akbar Badhusha
Mein problem war, dass der Prozess ließ sich nicht starten wegen eines ungültigen escape-Sequenz, die in meinem
appsettings.json
Datei.Bin ich mit dotnet zu laufen, die veröffentlicht ASPNET-Core 2 web-api-dll. Das problem wurde offenbart durch öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu dem Verzeichnis, wo die Website-Dateien befinden. Dort angekommen, lief ich den Befehl:
dotnet mySite.dll
(ändern mySite.dll zu den wichtigsten dll von Ihrem app. Auch, stellen Sie sicher, dass die korrekte version des .NET-Core-Windows-Server-Hosting-Paket ist bereits installiert).
Drücken der Taste enter wird es sofort abgestürzt geben die exakte Rückmeldung in der Konsole-Fenster, was falsch war. Das ist ein guter Weg, um zu helfen, festzustellen, Ihre Start-Fehlermeldung(en) wenn Sie haben ähnliche Probleme.
InformationsquelleAutor David Gunderson
Ich lief in das gleiche problem wenn ich meine Anwendung bereitgestellt. Es gab einige Probleme an meinem Ende 🙂
Bin ich über diese Seite sehr sorgfältig: ASP.NET Kern: das Veröffentlichen von IIS
Ersten, ich habe nicht alle Teile der .NET-Core-Windows-Server-Hosting-bundle installiert. Ich endete damit, ein fremework-abhängigen deployment-statt einer Selbstversorger-Bereitstellung. Wir haben eine Menge von apps und nicht wollen/müssen jeweils auf Ihren eigenen Versionen .net core. Es würde viel zu viele Versionen von .net auf der box.
Beachten Sie auch, dass wenn Ihr admins durchgeführt, alle updates/upgrades auf die server, Sie hätten aufgebockt Ihr ASP.NET Core-installation (siehe ASP.NET Kern: das Veröffentlichen von IIS Abschnitt "Fehlerbehebung")
Dann musste ich fix meine web.config... hier ist meine Arbeit veröffentlicht web.config:
Ich nicht veröffentlichen als *.exe, ich habe *.dll (beachten Sie meine Argumente mit dem Wert). Auch meine processPath festgelegt ist "dotnet".
Stellen Sie außerdem sicher, dass Ihr Projekt.json-Optionen sind alle kompatibel mit der server-Umgebung (siehe ASP.NET Kern: das Veröffentlichen von IIS Abschnitt "Fehlerbehebung")
Hier ist eine Kopie von meinem Projekt.json-wenn es helfen kann:
InformationsquelleAutor M.Ob
Ich hatte das gleiche problem mit Visual Studio verwandelt das web.config-Datei und ändern der processPath und Argumente. Wie skizziert auf die Microsoft-Website können Sie den Ausschluss in das Projekt.csproj Datei:
Diese gekümmert hat, mein problem mit Ihr die änderung der Pfad-Wert auf veröffentlichen, ich habe immer noch Problem aber mit Visual Studio ändern Sie es auf seine eigene, wenn das Debuggen.
InformationsquelleAutor Alex J Wilkinson
Mein Projekt war in Ordnung, die in der Entwicklung, aber nach dem web bereitstellen/publizieren der Produktion warf
502.5 Process Failure
.Den Grund, stellte sich heraus, dass ich aktualisiert hatte, von der Nutzung
Microsoft.AspNetCore.All 2.0.5
zu2.0.6
. Fein gearbeitet, nach zurücksetzen der version zurück.InformationsquelleAutor jv_
Problem: Wenn ich die Bereitstellung von asp-net-core-web-API, die processPath festgelegt ist dotnet. Die app wird nicht gestartet, und Ereignis-viewer zeigt den oben genannten Fehler.
Lösung:
Die Identität des Anwendungspools sollte so eingerichtet sein Profil laden.
Navigieren Sie zu: Anwendung Pool -> NetCore (Ihren pool) -> Erweiterte Einstellungen -> Benutzerprofil Laden ----> Setzen Sie dies auf true
Ich verifiziert drehen false erstellt die Fehler und die Einstellung true zurück, gelöst.
InformationsquelleAutor A P
Hatte ich ein ähnliches Problem. Ich habe nur die Schritte zur Problembehandlung:
Check the system event log for error messages
und fand das folgende aus der Ereignisanzeige, es sagtApplication 'MACHINE/WEBROOT/APPHOST/[MyFolder]' with physical root 'C:\inetpub\wwwroot\[MyFolder]\' failed to start process with commandline 'dotnet .\MyApp.dll', ErrorCode = '0x80004005 : 80008083.
Ich dann wieder ran
dotnet .\MyApp.dll
aus einem terminal und bekam die Antwort:Also der Grund ist der gleiche wie beantwortet jv_, haben Sie nicht nur ein kompatibles framework-version installiert. Ich landete mit "Self-Contained" Deployment-Modus und es funktioniert.
InformationsquelleAutor kakusan