Si të vendosni një aplikacion uebi .NET Core në CentOS 7

. Me ndihmën e .NET Core, zhvilluesit mund të ndërtojnë lehtësisht aplikacione moderne me performancë të lartë në të gjitha llojet e platformave.

Në këtë artikull, unë do t'ju tregoj se si të instaloni .NET Core në një shembull të serverit CentOS 7 dhe më pas të vendosni një aplikacion të plotë funksional në internet .NET Core.

Parakushtet

Shtoni furnizimin e produktit .NET në sistem

Si një kornizë zhvillimi ndër-platformë, .NET Core ofron binare të para-përpiluara për sisteme të ndryshme operative. Në CentOS 7, mund të konfiguroni një depo të nënshkruar zyrtarisht .NET YUM duke ekzekutuar komandat e mëposhtme si përdorues sudo:

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'

Instaloni SDK-në më të fundit .NET duke përdorur YUM

Duke pasur depon e .NET YUM, instaloni SDK-në më të fundit .NET, duke përfshirë .NET Core dhe varësi të tjera, në kompjuterin tuaj:

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

Për të konfirmuar rezultatin, mund të krijoni dhe ekzekutoni një aplikacion demo "Hello World" .NET Core:

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

dotnet new console -o helloworldAppKomandë do të krijojë një directory me emrin helloworldAppnë directory tuaj në shtëpi dhe pastaj të përdorin consoletemplate për të gjeneruar app fotografi në directory sapokrijuar.

Pas ekzekutimit të dotnet runkomandës, do të shihni Hello World!mesazhin në tastierë.

Krijo një aplikacion ueb .NET Core

Tani, krijoni dhe ekzekutoni një aplikacion .NET Core të tipit razor. Vetëm mos harroni se "Razor Pages" është një shabllon i ri aplikacioni i .NET Core MVC që është krijuar për skenarë të orientuar drejt faqeve:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

Duke ekzekutuar dotnet runkomandën e mësipërme, do të nisni një aplikacion ueb .NET Core që dëgjon në: http://localhost:5000.

Nëse dëshironi të konfirmoni që aplikacioni i uebit është në funksion dhe funksionon, megjithëse është në një shembull serveri pa GUI, mund të hapni përsëri një konsolë të re terminali dhe hyrje curl http://localhost:5000për të parë kodin burimor të faqes kryesore të aplikacionit të uebit.

Më pas, mund të shtypni CTRL+ Cpër të mbyllur aplikacionin e internetit .NET Core.

Për të materializuar aplikacionin tuaj të uebit, duhet të modifikoni skedarët brenda drejtorisë së aplikacionit. Mund të mësoni më shumë detaje në faqen zyrtare të dokumentit .NET .

Pasi të keni kryer të gjitha detyrat e zhvillimit, mund të përdorni komandat e mëposhtme për të publikuar aplikacionin tuaj të internetit:

cd ~/myfirstwebapp
dotnet publish

Mund ta gjeni aplikacionin e publikuar në ueb në ~/myfirstwebapp/bin/Debug/netcoreapp2.0drejtori.

(Opsionale): Konfiguro Supervizorin për ta mbajtur në linjë aplikacionin tuaj të uebit .NET Core

Dështimet e procesit ndodhin. Për ta mbajtur aplikacionin tuaj të uebit në linjë, është mirë të keni një mjet për menaxhimin e procesit, si p.sh. Supervisor, për të monitoruar dhe rifilluar proceset e dëmtuara të aplikacionit të uebit.

Në CentOS 7, mund të instaloni Supervisor duke përdorur YUM:

sudo yum install supervisor -y

Më pas, duhet të konfiguroni një skedar konfigurimi të dedikuar Supervisor për aplikacionin tuaj të internetit:

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

Plotësoni skedarin:

[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

Ruani dhe hiqni dorë:

:wq!

Më pas, duhet të modifikoni supervisordskedarin e konfigurimit të paracaktuar për të përfshirë skedarin e konfigurimit që kemi krijuar:

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

Gjeni rreshtin e fundit:

files = supervisord.d/*.ini

Zëvendësojeni:

files = supervisord.d/*.conf

Ruani dhe hiqni dorë:

:wq!

Nisni Supervisor dhe vendoseni që të fillojë automatikisht në fillimin e sistemit:

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

Ngarko cilësimet e reja të Mbikëqyrësit:

sudo supervisorctl reread
sudo supervisorctl update

Tani, mund të përdorni komandën e mëposhtme për të treguar statusin e aplikacionit:

sudo supervisorctl status

Prodhimi do të duket si më poshtë:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Më pas, mund të përpiqeni të vrisni procesin e aplikacionit duke specifikuar pid 3925:

sudo kill -s 9 3925

Prisni pak dhe më pas kontrolloni sërish statusin:

sudo supervisorctl status

Këtë herë, dalja do të tregojë se aplikacioni u prish dhe filloi automatikisht:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(Opsionale): Instaloni Nginx si një përfaqësues të kundërt

Për të lehtësuar aksesin e vizitorëve, mund të instaloni Nginx si një përfaqësues të kundërt për të kaluar trafikun e uebit në port 5000.

Instaloni Nginx duke përdorur YUM:

sudo yum install nginx -y

Ndryshoni skedarin e paracaktuar të konfigurimit Nginx si më poshtë:

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

Gjeni segmentin e mëposhtëm brenda http {}segmentit:

location / {
}

Futni gjashtë rreshta të cilësimeve të përfaqësuesit të kundërt midis mbajtëseve siç tregohet më poshtë:

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

Ruani dhe hiqni dorë:

:wq!

Nisni shërbimin Nginx dhe më pas vendoseni që të fillojë në fillimin e sistemit:

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

Rregullat e konfigurimit të murit të zjarrit

Përpara se vizitorët të mund të hyjnë në aplikacionin ueb .NET Core në porte 80dhe 443, ju duhet të modifikoni rregullat e murit të zjarrit siç tregohet më poshtë:

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

Kjo përfundon konfigurimin e aplikacionit. Tani jeni gati për të shfletuar aplikacionin tuaj të internetit .NET Core në http://203.0.113.1.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë