Предуслови
Додајте .НЕТ фид производа у систем
Инсталирајте најновији .НЕТ СДК користећи ИУМ
Направите .НЕТ Цоре веб апликацију
(Опционално): Подесите Супервизор да би ваша .НЕТ Цоре веб апликација била онлајн
(Опционално): Инсталирајте Нгинк као обрнути прокси
Поставите правила заштитног зида
.НЕТ Цоре је редизајнирани развојни оквир отвореног кода за више платформи који одржавају Мицрософт и .НЕТ заједница која стално расте. Уз помоћ .НЕТ Цоре-а, програмери могу лако да направе модерне апликације високих перформанси на свим врстама платформи.
У овом чланку ћу вам показати како да инсталирате .НЕТ Цоре на инстанцу сервера ЦентОС 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.