Benutzer mit den meisten Antworten
Webservice unter Linux bereitstellen?

Frage
-
Hallo zusammen,
ich arbeite ja schon seit längerem an einem Webservice, welcher mit .NET 5 und dem IIS funktioniert. Nun kommt hier im Haus die Frage auf, wie das denn mit Linux so läuft? Letztlich geht es um die Hostingkosten, die für Linux deutlich günstiger sind.
Hier hören nun meine Kenntnisse komplett auf. Kann mir jemand sagen, ob der Code unter Linux ebenfalls lauffähig wäre? Ich nehme mal an, der IIS wird dann durch den Apache ersetzt, aber was ist mit den DLLs?
Gruß, Karsten.
Antworten
-
Hallo Karsten,
ich betreibe einen Webservice mit Linux läuft gut. Wenn dann würde ich Nginx benutzen aber es geht auch ohne. Man muss nur einen Dienst erstellen der den Webservice starten solle er mal beendet werden
//Erstellen der Dienstdatei sudo nano /etc/systemd/system/kestrel-helloapp.service [Unit] Description=ASP.NET on RPI [Service] WorkingDirectory=/home/pi/NAME ExecStart=/usr/bin/dotnet /home/pi/NAME.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=pi Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target //Einschalten/Starten sudo systemctl enable kestrel-helloapp.service sudo systemctl start kestrel-helloapp.service //Protokoll anzeigen sudo journalctl -fu kestrel-helloapp.service
Solltest Du Nginx benutzen ist gut zu wissen das dieser nur die Anfragen entgegennimmt und sie an Kestrel weiterleitet.
Gruß Thomas
Github- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 1. November 2021 07:47
- Als Antwort markiert Atlan Gonozal Montag, 1. November 2021 07:59
Alle Antworten
-
Hallo Karsten,
Ich nehme mal an, der IIS wird dann durch den Apache ersetzt
Ja, das wäre eine Möglichkeit, die in diesem Artikel übersichtlich beschrieben wurde:
Host ASP.NET Core on Linux with Apache
Nginx wäre eine andere, darüber gibt es auch eine Anleitung. Die mit .NET 5.0 kompatiblen Versionen sind hier aufgelistet:
Install .NET on Linux
aber was ist mit den DLLs?
Es wird empfohlen, die Anwendung im /var-Ordner zu veröffentlichen. Mithilfe des Befehls dotnet publish kann ein Veröffentlichungsordner erstellt werden, den Du in den /var-Ordner kopieren kannst. Folgender Artikel geht näher auf die einzelnen Konfigurationsschritte der Anwendung ein:
Part 2.1 - Create and configure ASP.NET Core applications in Linux (Abschnitt Deploy the application to the /var directory)
Gruß,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo Karsten,
ich betreibe einen Webservice mit Linux läuft gut. Wenn dann würde ich Nginx benutzen aber es geht auch ohne. Man muss nur einen Dienst erstellen der den Webservice starten solle er mal beendet werden
//Erstellen der Dienstdatei sudo nano /etc/systemd/system/kestrel-helloapp.service [Unit] Description=ASP.NET on RPI [Service] WorkingDirectory=/home/pi/NAME ExecStart=/usr/bin/dotnet /home/pi/NAME.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=pi Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target //Einschalten/Starten sudo systemctl enable kestrel-helloapp.service sudo systemctl start kestrel-helloapp.service //Protokoll anzeigen sudo journalctl -fu kestrel-helloapp.service
Solltest Du Nginx benutzen ist gut zu wissen das dieser nur die Anfragen entgegennimmt und sie an Kestrel weiterleitet.
Gruß Thomas
Github- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 1. November 2021 07:47
- Als Antwort markiert Atlan Gonozal Montag, 1. November 2021 07:59
-
Hallo,
ich wollte mich mal wieder melden und das Thema noch abschließen. Der Webservice arbeitet mittlerweile unter Linux, mit Hilfe von Apache. Mit Details kann ich nicht so recht dienen, da die Einrichtung ein externer Kollege gemacht hat. Aber außer einer kleinen Codekorrektur, nämlich ein hardcodierter Backslash in einer Pfadangabe gab es keine (fast) Probleme.
Das Einzige, was noch Probleme bereitet ist der ExchangeWebService, aber das schildere ich in einem separaten Thread.
Bis dahin nochmal vielen Danke an alle und bleibts gesund.
Gruß, Karsten.