Előfeltételek
Adja hozzá a .NET terméktáblázatot a rendszerhez
Telepítse a legújabb .NET SDK-t a YUM használatával
Hozzon létre egy .NET Core webalkalmazást
(Opcionális): A .NET Core webalkalmazásának online tartásához állítsa be a Felügyelőt
(Opcionális): Telepítse az Nginx-et fordított proxyként
Tűzfalszabályok beállítása
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.