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.


Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Korištenje drugog sustava? Apache Cassandra je besplatni i otvorenog koda NoSQL sustav upravljanja bazom podataka koji je osmišljen kako bi osigurao skalabilnost, visoku

Kako instalirati Microweber na CentOS 7

Kako instalirati Microweber na CentOS 7

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati Mattermost 4.1 na CentOS 7

Kako instalirati Mattermost 4.1 na CentOS 7

Korištenje drugog sustava? Mattermost je open source alternativa Slack SAAS servisu za razmjenu poruka. Drugim riječima, s Mattermostom možete ca

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije

Omogućava šifriranje na Plesku

Omogućava šifriranje na Plesku

Upravljačka ploča Plesk ima vrlo lijepu integraciju za Lets Encrypt. Lets Encrypt je jedan od jedinih SSL pružatelja usluga koji u potpunosti izdaju certifikate

Omogućuje šifriranje na cPanelu

Omogućuje šifriranje na cPanelu

Lets Encrypt je tijelo za izdavanje certifikata posvećeno besplatnom pružanju SSL certifikata. cPanel je izgradio urednu integraciju tako da vi i vaš klijent

Kako instalirati Concrete5 na CentOS 7

Kako instalirati Concrete5 na CentOS 7

Korištenje drugog sustava? Concrete5 je CMS otvorenog koda koji nudi mnoge osebujne i korisne značajke koje pomažu urednicima u jednostavnoj proizvodnji sadržaja i

Kako instalirati ploču za pregled na CentOS 7

Kako instalirati ploču za pregled na CentOS 7

Korištenje drugog sustava? Review Board je besplatan alat otvorenog koda za pregled izvornog koda, dokumentacije, slika i još mnogo toga. To je web-bazirani softver

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

U ovom vodiču naučit ćete kako postaviti HTTP autentifikaciju za Nginx web poslužitelj koji radi na CentOS 7. Zahtjevi Da biste započeli, trebat će vam

Kako instalirati YOURLS na CentOS 7

Kako instalirati YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je aplikacija za skraćivanje URL-ova otvorenog koda i analizu podataka. U ovom članku ćemo pokriti proces instalacije

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je

Korištenje Etckeepera za kontrolu verzija /etc

Korištenje Etckeepera za kontrolu verzija /etc

Uvod Direktorij /etc/ igra ključnu ulogu u načinu na koji Linux sustav funkcionira. Razlog tome je što je gotovo svaka konfiguracija sustava

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Mnogi administratori sustava upravljaju velikim količinama poslužitelja. Kada se datotekama treba pristupiti na različitim poslužiteljima, prijava na svaki pojedinačno ca

Postavljanje poslužitelja Half Life 2 na CentOS 6

Postavljanje poslužitelja Half Life 2 na CentOS 6

Ovaj vodič će pokriti proces instaliranja poslužitelja za igre Half Life 2 na sustavu CentOS 6. Korak 1: Instaliranje preduvjeta Kako biste postavili ou

Kako instalirati Laravel GitScrum na CentOS 7

Kako instalirati Laravel GitScrum na CentOS 7

Laravel GitScrum ili GitScrum je alat za produktivnost otvorenog koda dizajniran da pomogne razvojnim timovima da implementiraju Scrum metodologiju na sličan način.

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.

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.

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.

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