Parakushtet
Shtoni furnizimin e produktit .NET në sistem
Instaloni SDK-në më të fundit .NET duke përdorur YUM
Krijo një aplikacion ueb .NET Core
(Opsionale): Konfiguro Supervizorin për të mbajtur në linjë aplikacionin tuaj të internetit .NET Core
(Opsionale): Instaloni Nginx si një përfaqësues të kundërt
Rregullat e konfigurimit të murit të zjarrit
. 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.