.NET Core webalkalmazás üzembe helyezése CentOS 7 rendszeren

A .NET Core egy újratervezett nyílt forráskódú, többplatformos fejlesztői keretrendszer, amelyet a Microsoft és az egyre növekvő .NET-közösség tart fenn. A .NET Core segítségével a fejlesztők könnyedén építhetnek modern, nagy teljesítményű alkalmazásokat mindenféle platformon.

Ebben a cikkben bemutatom, hogyan telepítheti a .NET Core-t egy CentOS 7 kiszolgálópéldányra, majd telepíthet egy teljes körűen működő .NET Core webalkalmazást.

Előfeltételek

Adja hozzá a .NET terméktáblázatot a rendszerhez

A platformok közötti fejlesztői keretrendszerként a .NET Core előre lefordított bináris fájlokat biztosít különféle operációs rendszerek számára. A CentOS 7 rendszeren beállíthat egy hivatalosan aláírt .NET YUM repót a következő parancsok futtatásával sudo felhasználóként:

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'

Telepítse a legújabb .NET SDK-t a YUM használatával

A .NET YUM repo telepítése után telepítse a legújabb .NET SDK-t, beleértve a .NET Core-t és más függőségeket is a számítógépére:

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

Az eredmény megerősítéséhez létrehozhat és futtathat egy „Hello World” demó .NET Core alkalmazást:

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

A dotnet new console -o helloworldAppparancs létrehoz egy könyvtárat helloworldAppa saját könyvtárában, majd a consolesablon segítségével alkalmazásfájlokat generál az újonnan létrehozott könyvtárban.

A dotnet runparancs végrehajtása után az Hello World!üzenet megjelenik a konzolon.

Hozzon létre egy .NET Core webalkalmazást

Most hozzon létre és futtasson egy .NET Core típusú alkalmazást razor. Ne feledje, hogy a "Razor Pages" a .NET Core MVC új alkalmazássablonja, amelyet oldalorientált forgatókönyvekhez terveztek:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

A dotnet runfenti parancs végrehajtásával elindít egy .NET Core webalkalmazást, amely figyeli: http://localhost:5000.

Ha meg szeretné győződni arról, hogy a webalkalmazás működik és fut, bár grafikus felhasználói felület nélküli kiszolgálópéldányon van, akkor is megnyithat egy új terminálkonzolt, és megadhatja curl http://localhost:5000a webalkalmazás kezdőlapjának forráskódját.

Ezután nyomja meg a CTRL+ gombot Ca .NET Core webalkalmazás leállításához.

A webalkalmazás megvalósításához szerkesztenie kell a fájlokat az alkalmazáskönyvtárban. További részleteket a hivatalos .NET dokumentumoldalon találhat .

Az összes fejlesztési feladat elvégzése után a következő parancsokat használhatja a webalkalmazás közzétételéhez:

cd ~/myfirstwebapp
dotnet publish

A közzétett webalkalmazást a ~/myfirstwebapp/bin/Debug/netcoreapp2.0címtárban találja .

(Opcionális): A .NET Core webalkalmazásának online tartásához állítsa be a Felügyelőt

Folyamat összeomlik. A webalkalmazás online tartása érdekében érdemes egy folyamatkezelő eszközzel, például a Supervisorral, figyelni és újraindítani az összeomlott webalkalmazás-folyamatokat.

A CentOS 7 rendszeren a Supervisor a YUM használatával telepíthető:

sudo yum install supervisor -y

Ezután be kell állítania egy dedikált Supervisor konfigurációs fájlt a webalkalmazáshoz:

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

Töltse fel a fájlt:

[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

Mentés és kilépés:

:wq!

Ezután módosítania kell az alapértelmezett supervisordkonfigurációs fájlt, hogy tartalmazza az általunk létrehozott konfigurációs fájlt:

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

Keresse meg az utolsó sort:

files = supervisord.d/*.ini

Cserélje ki:

files = supervisord.d/*.conf

Mentés és kilépés:

:wq!

Indítsa el a Supervisor programot, és állítsa be, hogy automatikusan elinduljon a rendszer indításakor:

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

Töltse be az új Supervisor beállításokat:

sudo supervisorctl reread
sudo supervisorctl update

Most a következő paranccsal jelenítheti meg az alkalmazás állapotát:

sudo supervisorctl status

A kimenet a következőképpen fog kinézni:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Ezután megpróbálhatja leállítani az alkalmazás folyamatát a pid megadásával 3925:

sudo kill -s 9 3925

Várjon egy kicsit, majd ellenőrizze újra az állapotot:

sudo supervisorctl status

Ezúttal a kimenet azt jelzi, hogy az alkalmazás meghibásodott, és automatikusan elindult:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(Opcionális): Telepítse az Nginx-et fordított proxyként

A látogatók hozzáférésének megkönnyítése érdekében telepítheti az Nginx-et fordított proxyként, hogy a webes forgalmat a portra továbbítsa 5000.

Az Nginx telepítése a YUM használatával:

sudo yum install nginx -y

Szerkessze az alapértelmezett Nginx konfigurációs fájlt az alábbiak szerint:

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

Keresse meg a következő szegmenst a http {}szegmensen belül :

location / {
}

Szúrjon be hat sor fordított proxybeállítást a kapcsos zárójelek közé az alábbiak szerint:

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

Mentés és kilépés:

:wq!

Indítsa el az Nginx szolgáltatást, majd állítsa be, hogy elinduljon a rendszer indításakor:

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

Tűzfalszabályok beállítása

Mielőtt a látogatók hozzáférnének a .NET Core webalkalmazáshoz a portokon 80és a 443, módosítania kell a tűzfalszabályokat az alábbiak szerint:

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

Ezzel befejeződik az alkalmazás beállítása. Most már készen áll a .NET Core webalkalmazás böngészésére a címen http://203.0.113.1.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.