W przypadku programisty z doświadczeniem w Javie jestem zainteresowany badaniem tworzenia oprogramowania przy użyciu narzędzi / platformy ASP.NET.
Aplikacje internetowe Java (.jsp i serwlety) mogą działać na wielu platformach serwerowych.
Pytanie : Czy aplikacja internetowa .NET będzie mogła działać na serwerze z systemem Linux? Biorąc pod uwagę scenariusz, w którym nie można używać serwera Windows do hostowania aplikacji internetowej.
Więc wiem, że to starsze pytanie, ale myślę, że może wytrzymać zaktualizowaną odpowiedź.
Firma Microsoft oficjalnie wydała asp.net vnext i jego oprogramowanie typu open source, które można wdrożyć zarówno w systemie Linux, jak i na komputerach Mac. To wszystko jest wciąż całkiem nowe, ale opiera się na najnowszych kompilacjach mono i dlatego obecnie wymaga skompilowania,
mono-framework
ale podejrzewam, że z czasem będzie łatwiej uzyskać dostęp, ponieważ różne dystrybucje linuxa wypuszczają zaktualizowane wersje mono. To jest przewodnik konfiguracjiTe informacje mogą być nieco niestabilne, a wraz z aktualizacjami mają się zmienić.
Zaktualizuj ASP.NET CORE 11/10/2017
źródło
Warto wziąć pod uwagę ten przewodnik, który pomaga programistom Windows przenieść ich kod do Mono / Linux:
Przewodnik: przenoszenie aplikacji ASP.NET - Mono
źródło
Mogę mówić z doświadczenia. Nawet jeśli Twoja witryna ASP.net korzysta tylko z bibliotek .NET obsługiwanych przez Mono, będziesz mieć trudności z jej uruchomieniem, jeśli jest to coś więcej niż Hello World.
Nie będziesz musiał ponownie pisać dużo kodu, ale spędzisz godziny / dni / tygodnie zajmując się drobnymi problemami z konfiguracją mod_mono / xsp / apache i uprawnieniami do plików oraz obsługą błędów i wszystkimi drobiazgami, które trafiają do dużej witryny. (Przygotuj się na spędzenie dużo czasu na zadawaniu pytań dotyczących awarii serwera :))
Problem polega na tym, że wiele osób nie używa Mono w witrynach ASP.net, a więc nie ma tak wielu osób zgłaszających błędy, więc wiele drobnych błędów pozostaje nierozwiązanych przez długi czas.
źródło
Teraz możesz opublikować aplikację ASP.NET 5 na platformie Docker w systemie Linux za pomocą programu Visual Studio. Zobacz poniższy post od Scotta Haselmana
http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
źródło
Ponieważ technologie ewoluują, a to pytanie zajmuje najwyższe pozycje w Google, musimy uwzględnić poza mono nowy rdzeń asp.net, który jest całkowitym przepisaniem asp.net, aby działał do produkcji w systemie Linux i Windows oraz do programowania w systemie Linux , Windows i Mac :
źródło
Tak możemy. zapoznaj się z Mono Project i przeczytaj ten artykuł, aby rozpocząć.
źródło
Mono
w Linux środowiska?W przypadku ASP.NET w systemie Linux sprawdź Mono .
To powiedziawszy, tysiące witryn działa w systemie Windows Server bez żadnych problemów. Słabo skonfigurowany serwer z dowolnym systemem operacyjnym będzie podatny na ataki; Linux nie uchroni Cię przed kiepskim administratorem.
Więc wydaje mi się, że moją „najlepszą praktyką” przy opracowywaniu aplikacji ASP.NET byłoby użycie systemu Windows Server 2008 (prawdopodobnie wersja internetowa). I zatrudnij dobrego administratora.
źródło
Możesz używać Mono do uruchamiania aplikacji ASP.NET w Apache / Linux, jednak ma ograniczony podzbiór tego, co możesz zrobić w systemie Windows. Co do „oni”, że Windows jest bardziej podatny na ataki - to nieprawda. W ciągu ostatnich kilku lat IIS miał mniej problemów z bezpieczeństwem niż Apache, ale w obu przypadkach wszystko zależy od administrowania skrzynkami - oba systemy operacyjne można łatwo zabezpieczyć. Obecnie punktami ataku nie są systemy operacyjne ani oprogramowanie serwera WWW, ale same aplikacje.
źródło
dotnet to oficjalna strona .NET w serwisie GitHub. To świetny punkt wyjścia do znalezienia wielu projektów .NET OSS firmy Microsoft i społeczności, w tym wielu, które są częścią .NET Foundation.
To może być świetny początek obsługi Linuksa.
źródło
Obecnie .Net jest uruchamiany na wielu platformach, takich jak Linux, Mac OS itp., Ale mono nie jest w pełni niezależne od platformy, ponieważ wdrożenie .NET w innym systemie operacyjnym wymaga oprogramowania innych firm, więc nie jest niezależne od platformy Java.
Mono działa na innej platformie, ponieważ JIT jest dostępny w różnych systemach operacyjnych.
Mono nie odnosi pełnego sukcesu w świetle księżyca (srebrne światło w .NET). Nie tylko badania są w toku.
Mono używa serwera XSP2 lub Apache. niektóre duże firmy korzystają z tego projektu. Niektóre z projektów robotów działają również w trybie mono.
Aby uzyskać więcej informacji, http://www.mono-project.com/Main_Page .
źródło
Firma Novell oferuje projekt Mono, który umożliwia uruchamianie ASP.Net na serwerze Apache.
http://www.mono-project.com/Main_Page
źródło
Projekt Mono to najlepsza opcja. Ma jednak wiele pułapek (takich jak niepełna obsługa API w niektórych obszarach) i jest legalnie szara (ludzie tacy jak Richard Stallman wyśmiewali użycie Mono z powodu możliwości, że Microsoft upuścił Mono, korzystając z praw patentowych, ale to inna historia).
W każdym razie Apache obsługuje .NET / Mono za pośrednictwem modułu, ale kiedy ostatnio sprawdzałem wersję dostarczoną z Debianem, zapewniała obsługę tylko języka Perl; Nie mogę powiedzieć, czy to się zmieniło, może ktoś inny może mnie tam poprawić.
źródło