Како да примените .НЕТ Цоре веб апликацију на ЦентОС 7

.НЕТ Цоре је редизајнирани развојни оквир отвореног кода за више платформи који одржавају Мицрософт и .НЕТ заједница која стално расте. Уз помоћ .НЕТ Цоре-а, програмери могу лако да направе модерне апликације високих перформанси на свим врстама платформи.

У овом чланку ћу вам показати како да инсталирате .НЕТ Цоре на инстанцу сервера ЦентОС 7, а затим примените потпуно функционалну .НЕТ Цоре веб апликацију.

Предуслови

Додајте .НЕТ фид производа у систем

Као развојни оквир за више платформи, .НЕТ Цоре обезбеђује унапред компајлиране бинарне датотеке за различите оперативне системе. На ЦентОС 7, можете да подесите званично потписан .НЕТ ИУМ репо тако што ћете покренути следеће команде као судо корисник:

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'

Инсталирајте најновији .НЕТ СДК користећи ИУМ

Ако имате .НЕТ ИУМ репо, инсталирајте најновији .НЕТ СДК, укључујући .НЕТ Цоре и друге зависности, на своју машину:

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

Да бисте потврдили резултат, можете да креирате и покренете „Хелло Ворлд“ демо .НЕТ Цоре апликацију:

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

dotnet new console -o helloworldAppКоманда ће креирати директоријум са именом helloworldAppу вашем хоме директоријуму, а затим користите consoleшаблон за генерисање апликација фајлове у новонасталој директоријум.

Када извршите dotnet runкоманду, видећете Hello World!поруку у конзоли.

Направите .НЕТ Цоре веб апликацију

Сада креирајте и покрените .НЕТ Цоре апликацију типа razor. Само запамтите да је „Разор Пагес“ нови шаблон апликације .НЕТ Цоре МВЦ-а који је дизајниран за сценарије оријентисане на странице:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

Извршавањем dotnet runгорње команде, покренућете .НЕТ Цоре веб апликацију која слуша: http://localhost:5000.

Ако желите да потврдите да је веб апликација покренута и да ради, иако је на инстанци сервера без ГУИ, и даље можете да отворите нову терминалску конзолу и унесете curl http://localhost:5000да бисте видели изворни код почетне странице веб апликације.

Након тога, можете притиснути CTRL+ Cда бисте искључили .НЕТ Цоре веб апликацију.

Да бисте материјализовали своју веб апликацију, морате да уредите датотеке у директоријуму апликације. Више детаља можете сазнати на званичној страници .НЕТ документа .

Након што су сви развојни задаци обављени, можете користити следеће команде да бисте објавили своју веб апликацију:

cd ~/myfirstwebapp
dotnet publish

Објављену веб апликацију можете пронаћи у ~/myfirstwebapp/bin/Debug/netcoreapp2.0директоријуму.

(Опционално): Подесите Супервизор да би ваша .НЕТ Цоре веб апликација била онлајн

Догађају се кварови процеса. Да бисте задржали своју веб апликацију на мрежи, добра је идеја да имате алатку за управљање процесима, као што је Супервизор, за надгледање и поновно покретање срушених процеса веб апликације.

На ЦентОС 7 можете да инсталирате Супервизор користећи ИУМ:

sudo yum install supervisor -y

Затим морате да подесите наменску конфигурациону датотеку Супервизора за своју веб апликацију:

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

Попуни датотеку:

[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

Сачувај и затвори:

:wq!

Затим морате да измените подразумевану supervisordконфигурациону датотеку да бисте укључили конфигурациону датотеку коју смо креирали:

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

Пронађите последњу линију:

files = supervisord.d/*.ini

Замените га:

files = supervisord.d/*.conf

Сачувај и затвори:

:wq!

Покрените Супервизор и подесите га да се аутоматски покреће при покретању система:

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

Учитајте нова подешавања Супервизора:

sudo supervisorctl reread
sudo supervisorctl update

Сада можете да користите следећу команду да бисте приказали статус апликације:

sudo supervisorctl status

Излаз ће изгледати овако:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Затим можете покушати да убијете процес апликације тако што ћете навести пид 3925:

sudo kill -s 9 3925

Сачекајте неко време, а затим поново проверите статус:

sudo supervisorctl status

Овог пута, излаз ће показати да се апликација покварила и аутоматски покренула:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(Опционално): Инсталирајте Нгинк као обрнути прокси

Да бисте олакшали приступ посетиоцима, можете инсталирати Нгинк као обрнути прокси за прослеђивање веб саобраћаја на порт 5000.

Инсталирајте Нгинк користећи ИУМ:

sudo yum install nginx -y

Уредите подразумевану Нгинк конфигурациону датотеку на следећи начин:

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

Пронађите следећи сегмент унутар http {}сегмента:

location / {
}

Уметните шест редова подешавања обрнутог проксија између заграда као што је приказано у наставку:

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

Сачувај и затвори:

:wq!

Покрените Нгинк услугу, а затим је подесите да се покреће при покретању система:

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

Поставите правила заштитног зида

Пре него што посетиоци могу да приступе веб апликацији .НЕТ Цоре на портовима 80и 443, потребно је да измените правила заштитног зида као што је приказано у наставку:

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

Ово завршава подешавање апликације. Сада сте спремни да претражујете своју .НЕТ Цоре веб апликацију на http://203.0.113.1.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више