Kā izvietot .NET Core tīmekļa lietojumprogrammu sistēmā CentOS 7

.NET Core ir pārveidots atvērtā pirmkoda starpplatformu izstrādes ietvars, ko uztur Microsoft un arvien pieaugošā .NET kopiena. Ar .NET Core palīdzību izstrādātāji var viegli izveidot modernas augstas veiktspējas lietojumprogrammas visu veidu platformās.

Šajā rakstā es jums parādīšu, kā CentOS 7 servera instancē instalēt .NET Core un pēc tam izvietot pilnībā funkcionālu .NET Core tīmekļa lietojumprogrammu.

Priekšnoteikumi

Pievienojiet sistēmai .NET produktu plūsmu

Kā starpplatformu izstrādes ietvars .NET Core nodrošina iepriekš kompilētus bināros failus dažādām operētājsistēmām. Operētājsistēmā CentOS 7 varat iestatīt oficiāli parakstītu .NET YUM repo, izpildot šādas komandas kā sudo lietotājs:

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'

Instalējiet jaunāko .NET SDK, izmantojot YUM

Kad ir izveidots .NET YUM repo, savā datorā instalējiet jaunāko .NET SDK, tostarp .NET Core un citas atkarības.

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

Lai apstiprinātu rezultātu, varat izveidot un palaist "Hello World" demonstrācijas .NET Core lietotni:

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

dotnet new console -o helloworldAppKomanda radīs direktoriju nosaukumu helloworldAppjūsu mājas direktorijā un pēc tam izmantot consoleveidni, lai radītu app failus jaunizveidotajā direktorijā.

Pēc dotnet runkomandas izpildes jūs redzēsit Hello World!ziņojumu konsolē.

Izveidojiet .NET Core tīmekļa lietotni

Tagad izveidojiet un palaidiet .NET Core tipa lietojumprogrammu razor. Atcerieties, ka "Razor Pages" ir jauna .NET Core MVC lietojumprogrammas veidne, kas ir paredzēta uz lapām orientētiem scenārijiem:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

Izpildot dotnet runiepriekš minēto komandu, jūs sāksit .NET Core tīmekļa lietotni, kas klausās: http://localhost:5000.

Ja vēlaties apstiprināt, ka tīmekļa lietotne ir izveidota un darbojas, lai gan tā atrodas servera instancē bez GUI, joprojām varat atvērt jaunu termināļa konsoli un ievadīt, curl http://localhost:5000lai skatītu tīmekļa lietotnes sākumlapas avota kodu.

Pēc tam varat nospiest CTRL+, Clai izslēgtu .NET Core tīmekļa lietotni.

Lai īstenotu tīmekļa lietotni, jums ir jārediģē faili lietotņu direktorijā. Plašāku informāciju varat uzzināt oficiālajā .NET dokumenta lapā .

Kad visi izstrādes uzdevumi ir paveikti, tīmekļa lietotnes publicēšanai varat izmantot šādas komandas:

cd ~/myfirstwebapp
dotnet publish

Publicēto tīmekļa lietotni varat atrast ~/myfirstwebapp/bin/Debug/netcoreapp2.0direktorijā.

(Neobligāti): iestatīšanas pārraugs, lai jūsu .NET Core tīmekļa lietotne būtu tiešsaistē

Notiek procesa avārijas. Lai tīmekļa lietotne būtu tiešsaistē, ieteicams izmantot procesa pārvaldības rīku, piemēram, Supervisor, kas pārraudzītu un restartētu avarējušos tīmekļa lietotņu procesus.

Operētājsistēmā CentOS 7 varat instalēt programmu Supervisor, izmantojot YUM:

sudo yum install supervisor -y

Pēc tam jūsu tīmekļa lietotnei ir jāiestata īpašs Supervisor konfigurācijas fails.

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

Aizpildiet failu:

[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

Saglabāt un iziet:

:wq!

Pēc tam jums ir jāmaina noklusējuma supervisordkonfigurācijas fails, lai iekļautu mūsu izveidoto konfigurācijas failu:

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

Atrodiet pēdējo rindu:

files = supervisord.d/*.ini

Nomainiet to:

files = supervisord.d/*.conf

Saglabāt un iziet:

:wq!

Startējiet programmu Supervisor un iestatiet, lai tas automātiski startētu sistēmas startēšanas laikā:

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

Ielādējiet jaunos Supervisor iestatījumus:

sudo supervisorctl reread
sudo supervisorctl update

Tagad varat izmantot šo komandu, lai parādītu lietotnes statusu:

sudo supervisorctl status

Izvade izskatīsies šādi:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Pēc tam varat mēģināt apturēt lietotnes procesu, norādot pid 3925:

sudo kill -s 9 3925

Pagaidiet kādu laiku un pēc tam vēlreiz pārbaudiet statusu:

sudo supervisorctl status

Šoreiz izvade norādīs, ka lietotne sabojājās un automātiski startēja:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(Neobligāti): instalējiet Nginx kā apgriezto starpniekserveri

Lai atvieglotu apmeklētāju piekļuvi, varat instalēt Nginx kā reverso starpniekserveri, lai tīmekļa trafiku pārsūtītu uz portu 5000.

Instalējiet Nginx, izmantojot YUM:

sudo yum install nginx -y

Rediģējiet noklusējuma Nginx konfigurācijas failu šādi:

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

Segmentā atrodiet šādu http {}segmentu:

location / {
}

Ievietojiet sešas apgrieztās starpniekservera iestatījumu rindas starp iekavām, kā parādīts tālāk:

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;
}

Saglabāt un iziet:

:wq!

Sāciet pakalpojumu Nginx un pēc tam iestatiet tā palaišanu sistēmas startēšanas laikā:

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

Iestatiet ugunsmūra noteikumus

Lai apmeklētāji varētu piekļūt .NET Core tīmekļa lietotnei portos 80un 443, jums ir jāmaina ugunsmūra noteikumi, kā parādīts tālāk:

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

Tas pabeidz lietojumprogrammas iestatīšanu. Tagad esat gatavs pārlūkot savu .NET Core tīmekļa lietotni vietnē http://203.0.113.1.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk