Kako implementirati .NET Core web aplikaciju na CentOS 7

.NET Core je redizajnirani open source razvojni okvir za više platformi koji održavaju Microsoft i stalno rastuća .NET zajednica. Uz pomoć .NET Corea, programeri mogu jednostavno izgraditi moderne aplikacije visokih performansi na svim vrstama platformi.

U ovom članku pokazat ću vam kako instalirati .NET Core na instancu poslužitelja CentOS 7, a zatim implementirati potpuno funkcionalnu .NET Core web aplikaciju.

Preduvjeti

Dodajte .NET feed proizvoda u sustav

Kao razvojni okvir za više platformi, .NET Core pruža unaprijed kompajlirane binarne datoteke za različite operativne sustave. Na CentOS-u 7 možete postaviti službeno potpisan .NET YUM repo pokretanjem sljedećih naredbi kao sudo korisnik:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

Instalirajte najnoviji .NET SDK koristeći YUM

Ako imate .NET YUM repo, instalirajte najnoviji .NET SDK, uključujući .NET Core i druge ovisnosti, na svoj stroj:

sudo yum update -y
sudo yum install libunwind libicu -y
sudo yum install dotnet-sdk-2.1.4 -y

Kako biste potvrdili rezultat, možete stvoriti i pokrenuti "Hello World" demo .NET Core aplikaciju:

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

dotnet new console -o helloworldAppNaredba će izraditi direktorij pod nazivom helloworldAppu početnom direktoriju, a zatim koristiti consolepredložak za generiranje aplikacija za datoteke u novonastale imenik.

Nakon izvršenja dotnet runnaredbe, vidjet ćete Hello World!poruku u konzoli.

Izradite web-aplikaciju .NET Core

Sada stvorite i pokrenite .NET Core aplikaciju tipa razor. Samo zapamtite da je "Razor Pages" novi predložak aplikacije .NET Core MVC-a koji je dizajniran za scenarije orijentirane na stranice:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

Izvođenjem dotnet rungornje naredbe pokrenut ćete web-aplikaciju .NET Core koja sluša: http://localhost:5000.

Ako želite potvrditi da je web-aplikacija pokrenuta i radi, iako je na instanci poslužitelja bez GUI-a, još uvijek možete otvoriti novu terminalsku konzolu i unijeti curl http://localhost:5000da biste vidjeli izvorni kod početne stranice web-aplikacije.

Nakon toga možete pritisnuti CTRL+ Cda biste isključili web-aplikaciju .NET Core.

Da biste materijalizirali svoju web-aplikaciju, trebate urediti datoteke unutar direktorija aplikacije. Više pojedinosti možete saznati na službenoj stranici .NET dokumenta .

Nakon što su svi razvojni zadaci obavljeni, možete koristiti sljedeće naredbe za objavljivanje svoje web aplikacije:

cd ~/myfirstwebapp
dotnet publish

Objavljenu web aplikaciju možete pronaći u ~/myfirstwebapp/bin/Debug/netcoreapp2.0imeniku.

(Izborno): Postavite Supervizor kako bi vaša web-aplikacija .NET Core ostala na mreži

Događaju se padovi procesa. Kako biste zadržali svoju web-aplikaciju na mreži, dobra je ideja imati alat za upravljanje procesima, kao što je Supervizor, za praćenje i ponovno pokretanje srušenih procesa web-aplikacije.

Na CentOS 7 možete instalirati Supervisor koristeći YUM:

sudo yum install supervisor -y

Zatim morate postaviti namjensku konfiguracijsku datoteku Supervisora ​​za svoju web-aplikaciju:

cd /etc/supervisord.d
sudo vi myfirstwebapp.conf

Popuni datoteku:

[program:myfirstwebapp]
command=dotnet myfirstwebapp.dll
directory=/home/sudouser/myfirstwebapp/bin/Debug/netcoreapp2.0/
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=1
stderr_logfile=/var/log/myfirstwebapp.err.log
stdout_logfile=/var/log/myfirstwebapp.out.log

Spremi i zatvori:

:wq!

Zatim morate izmijeniti zadanu supervisordkonfiguracijsku datoteku kako biste uključili konfiguracijsku datoteku koju smo stvorili:

sudo cp /etc/supervisord.conf /etc/supervisord.conf.bak
sudo vi /etc/supervisord.conf

Pronađite zadnji redak:

files = supervisord.d/*.ini

Zamijenite ga:

files = supervisord.d/*.conf

Spremi i zatvori:

:wq!

Pokrenite Supervisor i postavite ga da se automatski pokreće pri pokretanju sustava:

sudo systemctl start supervisord.service
sudo systemctl enable supervisord.service

Učitajte nove postavke Supervizora:

sudo supervisorctl reread
sudo supervisorctl update

Sada možete koristiti sljedeću naredbu za prikaz statusa aplikacije:

sudo supervisorctl status

Izlaz će izgledati ovako:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Zatim možete pokušati prekinuti proces aplikacije navođenjem pid-a 3925:

sudo kill -s 9 3925

Pričekajte neko vrijeme, a zatim ponovno provjerite status:

sudo supervisorctl status

Ovaj put, izlaz će pokazati da se aplikacija pokvarila i automatski pokrenula:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(Neobavezno): Instalirajte Nginx kao obrnuti proxy

Kako biste posjetiteljima olakšali pristup, možete instalirati Nginx kao obrnuti proxy za prosljeđivanje web prometa na port 5000.

Instalirajte Nginx koristeći YUM:

sudo yum install nginx -y

Uredite zadanu Nginx konfiguracijsku datoteku na sljedeći način:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo vi /etc/nginx/nginx.conf

Pronađite sljedeći segment unutar http {}segmenta:

location / {
}

Umetnite šest redaka postavki obrnutog proxyja između zagrada kao što je prikazano u nastavku:

location / {
proxy_pass http://127.0.0.1:5000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

Spremi i zatvori:

:wq!

Pokrenite uslugu Nginx, a zatim je postavite da se pokreće pri pokretanju sustava:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Postavite pravila vatrozida

Prije nego posjetitelji mogu pristupiti web-aplikaciji .NET Core na portovima 80i 443, morate izmijeniti pravila vatrozida kao što je prikazano u nastavku:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Time je dovršeno postavljanje aplikacije. Sada ste spremni pregledavati svoju web-aplikaciju .NET Core na adresi http://203.0.113.1.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više