Für einen Entwickler mit Java-Hintergrund bin ich daran interessiert, die Softwareentwicklung auch mit den ASP.NET-Tools / -Plattform zu untersuchen.
Java-Webanwendungen (.jsp und Servlets) können auf vielen Serverplattformen ausgeführt werden.
Frage : Kann eine .NET-Webanwendung auf einem Linux-basierten Server ausgeführt werden? In Anbetracht des Szenarios, dass ein Windows-Server nicht zum Hosten einer Web-App verwendet werden kann.
Ich weiß also, dass dies eine ältere Frage ist, aber ich denke, sie könnte eine aktualisierte Antwort enthalten.
Microsoft hat asp.net vnext und sein Open Source offiziell veröffentlicht und kann sowohl auf Linux als auch auf Mac bereitgestellt werden . Es ist alles noch ziemlich neu, basiert jedoch auf den neuesten Mono-Builds und erfordert daher derzeit das Kompilieren des
mono-framework
Monos. Ich vermute jedoch, dass der Zugriff mit der Zeit einfacher sein wird, da verschiedene Linux-Distributionen aktualisierte Versionen von Mono veröffentlichen. Dies ist eine Anleitung zum EinrichtenDiese Informationen können etwas flüchtig sein und können sich bei Aktualisierungen ändern.
Aktualisieren Sie ASP.NET CORE 11/10/2017
quelle
Vielleicht möchten Sie dieses Handbuch in Betracht ziehen, das Windows-Entwicklern hilft, ihren Code auf Mono / Linux zu portieren:
Anleitung: Portieren von ASP.NET-Anwendungen - Mono
quelle
Ich kann aus Erfahrung sprechen. Selbst wenn Ihre ASP.net-Website nur von Mono unterstützte .NET-Bibliotheken verwendet, wird es Ihnen schwer fallen, sie zum Laufen zu bringen, wenn sie über Hello World hinausgeht.
Sie müssen nicht viel Code neu schreiben, aber Sie werden Stunden / Tage / Wochen damit verbringen, sich mit kleinen Problemen mit der Konfiguration von mod_mono / xsp / apache und den Dateiberechtigungen und der Fehlerbehandlung sowie all den kleinen Dingen zu befassen, die in eine große Website einfließen. (Seien Sie bereit, viel Zeit damit zu verbringen, Fragen zu Serverfault zu stellen :))
Das Problem ist, dass viele Leute Mono nicht für ASP.net-Websites verwenden und es daher nicht so viele Leute gibt, die Fehler melden, so dass viele Dinge, die kleinere Fehler sind, für eine lange Zeit nicht behoben werden.
quelle
Jetzt können Sie die ASP.NET 5-App mit Visual Studio in Docker unter Linux veröffentlichen. Siehe den folgenden Beitrag von Scott Haselman
http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
quelle
Da sich die Technologien weiterentwickeln und diese Frage in Google an erster Stelle steht , müssen wir über das Mono hinaus den neuen asp.net-Kern einbeziehen, der eine vollständige Neufassung von asp.net darstellt, um für die Produktion unter Linux und Windows sowie für die Entwicklung für Linux ausgeführt zu werden , Windows und Mac :
quelle
Ja wir können. Machen Sie sich mit Mono Project vertraut und lesen Sie diesen Artikel, um loszulegen.
quelle
Mono
in Linux - Umgebung?Informationen zu ASP.NET unter Linux finden Sie unter Mono .
Das heißt, Tausende von Websites laufen unter Windows Server ohne Probleme. Ein schlecht konfigurierter Server mit einem beliebigen Betriebssystem ist anfällig. Linux wird Sie nicht vor einem schlechten Administrator retten.
Ich denke, meine "Best Practice" für die Bereitstellung einer ASP.NET-App wäre die Verwendung von Windows Server 2008 (wahrscheinlich Web Edition). Und stellen Sie einen guten Administrator ein.
quelle
Sie können Mono verwenden , um ASP.NET-Anwendungen unter Apache / Linux auszuführen. Es gibt jedoch nur eine begrenzte Teilmenge dessen, was Sie unter Windows tun können. "Sie" sagen, Windows sei anfälliger für Angriffe - das stimmt nicht. IIS hatte in den letzten Jahren weniger Sicherheitsprobleme als Apache, aber in beiden Fällen hängt alles von der Verwaltung der Boxen ab - beide Betriebssysteme können problemlos gesichert werden. Heutzutage sind die Angriffspunkte nicht das Betriebssystem oder die Webserver-Software, sondern die Anwendungen selbst.
quelle
dotnet ist die offizielle Heimat von .NET auf GitHub. Es ist ein guter Ausgangspunkt, um viele .NET OSS-Projekte von Microsoft und der Community zu finden, einschließlich vieler, die Teil der .NET Foundation sind.
Dies könnte ein guter Anfang sein, um Linux zu unterstützen.
quelle
Heute wird .Net auf mehreren Plattformen wie Linux, Mac OS usw. ausgeführt, aber Mono ist nicht vollständig plattformunabhängig. Für die Bereitstellung von .NET in einem anderen Betriebssystem ist Software von Drittanbietern erforderlich. Daher ist es nicht wie eine Java-Plattform unabhängig.
Mono läuft auf einer anderen Plattform, da JIT in verschiedenen Betriebssystemen vorhanden ist.
Mono ist im Mondlicht nicht ganz erfolgreich (silbernes Licht in .NET). Es wird nicht nur geforscht.
Mono verwendet XSP2-Server oder Apache. Einige der großen Unternehmen nutzen dieses Projekt. Einige der Roboterprojekte laufen auch auf Mono.
Weitere Informationen finden Sie unter http://www.mono-project.com/Main_Page .
quelle
Es gibt das Mono-Projekt von Novell, mit dem Sie ASP.Net unter Apache ausführen können.
http://www.mono-project.com/Main_Page
quelle
Das Mono-Projekt ist Ihre beste Option. Es hat jedoch viele Fallstricke (wie unvollständige API-Unterstützung in einigen Bereichen) und es ist rechtlich grau (Leute wie Richard Stallman haben die Verwendung von Mono verspottet, weil Microsoft Mono möglicherweise durch die Nutzung seiner Patentrechte herabsetzt, aber das ist eine andere Geschichte).
Wie auch immer, Apache unterstützt .NET / Mono über ein Modul, aber als ich das letzte Mal die mit Debian gelieferte Version überprüfte, gab es nur Unterstützung für die Perl-Sprache. Ich kann nicht sagen, ob es sich seitdem geändert hat, vielleicht kann mich dort jemand anderes korrigieren.
quelle