witam. na co zwrócić uwagę przy wyborze hostingu dla ASP. NET. Mam takie parametry:
- Intel Xeon e5
- ram 2gb
- dysk NVMe 25gb
- łącza 150gbps
- virtualizacja KVM
- pełen dostęp root
Da się to uruchomić wraz z jakąś baza danych?
kzkzg napisał(a):
Nie, nie da rady klasycznego ASP .NET pod linuxem. Koledze wyżej pomyliło się z ASP .NET CORE.
Nie do końca. ASP NET Core to framework do budowania aplikacji webowych który może być użyty zarówno z .NET Framework jaki i .NET Core.
Natomiast jest jeszcze .NET Core - i to właśnie ten jak i aplikacje uruchomione na nim można uruchomić na platformie innej niż Windows.
tamtamtu napisał(a):
@codex zalezy od aplikacji - cos prostego z podstawowa baza danych bedzie na tym smigac. Jednak duzo ludzi, bardziej skomplikowane zapytania, duzo danych Ci to serwer sam bedzie prosil bys go usmiercil :)
dobra panowie widzę, że jesteśmy blisko rozwiązania moich dylematów:
@var napisałeś " Planując uruchomienie na platformie innej niż Windows trzeba pisać biblioteki albo w NET Core albo NET Standard" nie bardzo kumam więc zapytam tak:
czy jeżeli polecę wg schematu opisanego tutaj to będzie to napisane w NET Standard
i zadziała mi na hostingu linuxowym ?
@tamtamtu przewiduję tam raczej mały ruch ok 300 wejść/ rok. Trochę przesyłu grafiki od każdego zarejestrowanego usera ( szacuje max 10% wejść ). to wsio. nie chcę przepłacać.
hosting vps który opisałem jest na nazwa.pl za 6 zeta/ miesiąc. Możesz coś lepszego polecić w tej kwestii ?
300 wejsc/rok oraz 30 przesylan grafiki? Wystarczy - a raczej przeplacasz (zakladajac ze grafiki nie beda ogromne - zeby miejsca w bazie wystarczylo). Przy czyms takim moglbys sie zastanowic nad serverless - auzre swojego czasu dawal pule do wykorzystania ktora powinna Ci wystaczyc na tak maly ruch (wymaga to "tylko" napisania aplikacji w odpowiedni sposob).
Co do serwerow to niestety nie kojarze nic
Spróbuj HostedWindows
Całkiem spoko serwerek.
Ktos napisał(a):
Jeżeli chcesz na takim serwerze, jaki napisałeś, uruchomić Windows (z IIS) to po pierwsze: trochę mało RAM-u, po drugie: nie da się, bo to KVM. Musisz szukać konkretnie VPS z Windows.
a gdybym to przepisał wszystko do ASP.NET Core ? też nie pójdzie ? może się to da bez IIS wszystko odpalić w końcu to ma być multiplatformowa technologia hmm ?
Jak masz aplikację ASP.NET Core i nie używasz rzeczy związanych konkretnie z Windows, to możesz to odpalić na Linuksie, używając Kestrela ("wbudowanego" serwera) lub jakiejś innej kombinacji (np. Kestrel + nginx jako reverse proxy), lub odpalić na Windows z wykorzystaniem Kestrela, IIS Express albo "zwykłego" IIS.
I na takim serwerze pójdzie bez problemu - mam tak odpalone kilka rzeczy, w konfiguracji Kestrel+nginx, na Ubuntu.
Uwaga: jest jeszcze baza danych - jakiejś pewnie używasz; jest MSSQL dla Linuksa, ale nigdy go nie używałem, używam MariaDB ;)
Jeżeli chcesz odpalić aplikację ASP.NET nie-Core, to albo: użyjesz Windows+IIS, albo szczęście i ci zadziała z wykorzystaniem jakiejś kombinacji typu XSP + nginx, albo mod_mono do Apache albo czegoś takiego - raz w życiu użyłem i prosta aplikacja testowo mi zadziałała :)
Widzę dużo problemów z tym uruchomieniem.
Wersja prosta, łatwa i nie do końca idealna na produkcję:
Instalujesz dotneta w Ubuntu, klikasz "publish" w Visual Studio, kopiujesz pliki, dajesz komendę dotnet WebApplication1.dll
- no faktycznie, problemów bez liku.
Tutaj masz poradnik krok-po-kroku, który omawia aplikację, reverse proxy, systemd i inne rzeczy, które się mogą przydać: https://docs.microsoft.com/pl-pl/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.2
http://localhost:5000
. Aczkolwiek wystarczy jej wymusić, np. dotnet run --urls http://*:5000
i voila: http://167.71.53.47:5000/. Wystartować na 80 też można, tylko to trzeba z roota zrobić :) @codex: Tam w tutorialu jest to, co musisz wrzucić do pliku konfiguracyjnego nginxa.
Jest jeszcze opcja uruchamiania .NET Core w dockerze. Osobiście byłem sceptyczny do tego, bo wprowadza to dodatkowy poziom skomplikowania, ale finalnie myślę, że usprawnia utrzymanie aplikacji zwłaszcza jak jest ich kilka i działają na różnych wersja .NET Core.
wpisałem w pliku launchSettings.json:
"applicationUrl":https://wlasneip:5001
Działa :) panowie Działa !
po wpisaniu w wyszukiwarkę "https://wlasneip:5001" ale trzeba zaakceptować "niebezpieczne połączenie - z tym chyba sobie poradzę.
Większym problemem bd chyba to połączenie domeny z IP serwera. @Ktos tak wiem pisałeś naprowadzające słowa ale nawet nie wiem czego to dotyczy - czy chodzi o konfiguracje domeny w panelu mojego hostingu ?
Rekordzie A
adres ip
http
na http
to pozbędziesz się "niezbezpiecznego" (bo certyfikat jest self-signed) połączenia (na rzecz braku szyfrowania w ogóle). Co do rekordu A - zależy gdzie masz "zaparkowaną" domenę, ale w panelu domeny się to ustawia na jaki adres ona wskazuje. Co do hostingu: VPS-y polecam na ovh.pl, domeny też kupuję na ovh.pl (i mają całkiem dobry panel do nich), ale część domen mam zaparkowane na cloudflare, który daje też nieco więcej możliwości.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
Grzegorz ŚwidwaGrzegorz Świdwa