НодеЈС

Како применити ГрапхКЛ апликацију помоћу Ноде-а.јс на ЕЦ2 серверу

Како применити ГрапхКЛ апликацију помоћу Ноде-а.јс на ЕЦ2 серверу
ГрапхКЛ, познат и као Грапх Куери Лангуаге, који је успоставио и одржавао Фацебоок, језик је упита који се користи за АПИ-је. Израђен је помоћу програмских језика ЈаваСцрипт, Сцала, Јава и Руби. Његова основна сврха је тражење података од сервера до клијента.ГрапхКЛ обједињује податке из различитих извора. Агрегација је поступак филтрирања података на страни сервера и слање филтрираних података клијенту. Без обједињавања, све податке шаљемо клијенту, а затим се подаци филтрирају на страни клијента. То систем успорава, а ефикасност АПИ-ја можемо побољшати помоћу ГрапхКЛ-а. Овде ћемо научити да применимо једноставну ГрапхКЛ апликацију помоћу чвора.јс на ЕЦ2 серверу.

Инсталирање потребних пакета

Први корак за примену ваше ГрапхКЛ апликације је припрема вашег сервера инсталирањем потребних пакета. Пријавите се на сервер користећи ССХ.

[заштићена е-поштом]: ~ $ ссх убунту @ ИПАдресс -и КеиПаир.пем

БЕЛЕШКА: Уверите се да је безбедносна група инстанце конфигурисана да дозвољава везу са порта 22 и да датотека приватног кључа има 400 дозвола.

Ажурирајте Убунту спремишта.

[заштићен е-поштом]: ~ $ судо апт-гет упдате -и

Сада инсталирајте чвор.јс и нпм на вашем убунту серверу.

[заштићен е-поштом]: ~ $ судо апт-гет инсталл нодејс -и
[заштићен е-поштом]: ~ $ судо апт-гет инсталл нпм -и

Проверите инсталацију провером верзије чвора.јс и нпм.

[заштићен е-поштом]: ~ $ ноде -в
[заштићен е-поштом]: ~ $ нпм -в

Преместите ГрапхКЛ апликацију на ЕЦ2 сервер

Инстанца ЕЦ2 је спремна за примену грапхКЛ апликација у чвор.јс. Сада ћемо преместити наш код на инстанцу ЕЦ2. У наставку су наведена два уобичајена начина копирања кода на сервер и о њима ће бити речи овде.

Копирање апликације помоћу наредбе сцп

Да бисте копирали своју апликацију на ЕЦ2 сервер помоћу наредбе сцп, прво уклоните директоријум 'ноде_модулес' из ваше грапхКЛ апликације. Овај директоријум садржи све нпм пакете потребне за покретање апликације. Ове пакете ћемо инсталирати касније пре покретања графичке апликације. Сада компресујте директоријум пројекта у зип датотеку. Након креирања зип датотеке, преселит ћемо зип датотеку пројекта на сервер. Линук и Виндовс имају различите методе за стварање зип датотеке.

Виндовс

У прозорима кликните десним тастером миша на основни директоријум апликације и идите на опцију 'пошаљи у'. Отвориће се подмени. Кликните на „Компресовани (зиповани) директоријум“ да бисте креирали зип датотеку апликације грапхКЛ.

Линук или Мац

У Линук-у или Мац ОС-у користићемо команду 'зип' да бисмо креирали зип датотеку пројекта.

[заштићен е-поштом]: ~ $ зип -р грапхКЛ.зип грапхКЛ

Горња команда ће генерисати грапхКЛ.зип датотека директоријума грапхКЛ.

Отпремите апликацију на сервер

Сада имамо зип датотеку наше апликације, а зип датотеку можемо послати на сервер помоћу команде сцп.

[заштићен е-поштом]: ~ $ сцп -и КеиПаир.пем грапхКЛ.зип убунту @ ИПАддресс: ~ /

Горња наредба ће преместити зип датотеку пројекта у кућни директоријум удаљеног сервера преко ссх везе. Сада на удаљеном серверу распакујте зип датотеку пројекта.

[заштићен е-поштом]: ~ $ унзип грапхКЛ.зип

Клонирајте апликацију из Гитхуб-а, Битбуцкет-а или Гитлаба

Други начин копирања апликационог кода на сервер је коришћење гит-а. Инсталирајте гит из командне линије на ЕЦ2 серверу.

[заштићен е-поштом]: ~ $ судо апт инсталл гит

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

[заштићена е-поштом]: ~ $ гит --версион

Ако не даје верзију гит-а, тада гит није инсталиран. Сада клонирајте апликацију из гитхуб-а, гитлаба или битбуцкет-а. Овде ћемо клонирати код апликације из гитхуб-а.

[заштићен е-поштом]: ~ $ гит цлоне ттпс: // гитхуб.цом / цонтентфул / тхе-екампле-апп.нодејс

Покретање ГрапхКЛ апликације

Сада имамо нашу графичку апликацијуКЛКЛ на удаљеном серверу. Идите у основни директоријум грапхКЛ апликације и инсталирајте потребне нпм пакете за покретање грапхКЛ апликације.

[заштићен е-поштом]: ~ $ цд грапхКЛ
[заштићен е-поштом]: ~ $ судо нпм инсталл

Ова наредба ће анализирати пакет.јсон датотеку у пројекту и инсталирајте све потребне нпм пакете. Након инсталирања потребних пакета, сада ћемо покренути апликацију грапхКЛ.

[заштићена е-поштом]: ~ $ ноде апп.јс

Покретање апликације као Даемон

Када апликацију покренемо стандардном методом као што је горе описано, она ради у првом плану и апликација се зауставља када затворите прозор терминала. Апликацију можемо покренути као позадински поступак додавањем знака амперсанд (&) наредби.

[заштићена е-поштом]: ~ $ ноде апп.јс &

Проблем ове методе је у томе што када изменимо код апликације, примењене промене се неће аутоматски одразити. Морат ћемо поново покренути апликацију сваки пут када модификујемо код како бисмо примијенили промјене. Да бисмо покренули апликацију у позадини и аутоматски применили промене, користићемо нпм пакет назван пм2. Инсталирајте пм2 на сервер.

[заштићен е-поштом]: ~ $ судо нпм инсталл -г пм2

Покрените грапхКЛ апликацију помоћу пм2.

[заштићена е-поштом]: ~ $ пм2 старт апп.јс --наме “грапхКЛ” --ватцх

Ознака '-наме' именоваће позадински процес, а апликацију можемо покренути и зауставити помоћу имена. Ознака '-ватцх' наставиће да проверава код апликације како би одмах применила промене. Више о пм2 можете сазнати ако посетите следећу везу

хттпс: // пм2.кеиметрицс.ио /

Упит за ГрапхКЛ АПИ из прегледача

Можемо да конфигуришемо нашу графичку апликацијуКЛ да ручно израђује графичке упите из претраживача. За ово морамо створити засебну ХТТП крајњу тачку на коју ћемо монтирати ГрапхКЛ АПИ сервер. А ова ХТТП крајња тачка ће се користити за ручно постављање упита. Следи код за стварање крајње тачке графичког апи сервера.

цонст екпресс = рекуире ('екпресс');
цонст грапхклХТТП = рекуире ('екпресс-грапхкл');
цонст буилдСцхема = рекуире ('грапхкл');
цонст грапхКЛСцхема = буилдСцхема ('
типе Куери
порука: Стринг
'
);
цонст фунц =
порука: () =>

ретурн 'користите графички апи сервер';

;
цонст сервер = екпресс ();
сервер.усе ('/ грапхкл', грапхклХТТП (
шема: грапхКЛСцхема,
роотВалуе: фунц,
грапхикл: тачно
));
сервер.слушати (3000);

Сада, након покретања сервера, можемо приступити грапхКЛ апи серверу на следећој рути.

хттп: // лоцалхост: 3000 / грапхкл

Упит за ГрапхКЛ АПИ помоћу ЦЛИ

У претходном одељку смо направили ГрапхКЛ упите из прегледача користећи грапхикл. Сада ћемо правити ГрапхКЛ упите користећи интерфејс за командну линију у убунту-у. Из командне линије, да бисмо упутили ХТТП ПОСТ захтев, користићемо модул цурл.

[заштићена е-поштом]: ~ $ цурл -Кс ПОСТ -Х "Цонтент-Типе: апплицатион / јсон" -д '"куери": "мессаге"' хттп: // лоцалхост: 3000 / грапхкл

Програмско испитивање АПИ-ја ГрапхКЛ

Да бисмо програмски извршили ГрапхКЛ упит, користићемо модул 'ноде-фетцх' у чвору.јс. Отворени чвор.јс у терминалу.

[заштићен е-поштом]: ~ $ чвор

Сада упутите ХТТП ПОСТ захтев серверу помоћу модула 'ноде-фетцх'.

ГрапхКЛ је ефикасан језик упита и може смањити време одзива упита упућеног бази података. Стандардни апи позиви за преузимање података из базе података укључују много некорисних података у одговору, а тиме се и време одзива повећава, што смањује ефикасност. Упит упућен базама података помоћу ГрапхКЛ-а враћа само корисне податке и тиме смањује време одзива. У овом чланку смо нашу графичку апликацију применили на ЕЦ2 инстанцу.

Леви тастер миша не ради у оперативном систему Виндовс 10
Ако уз преносни рачунар или стони рачунар користите наменски миш, али тастер миша не ради у оперативном систему Виндовс 10/8/7 из неких разлога, ево н...
Курсор скаче или се насумично помера док куцате у оперативном систему Виндовс 10
Ако откријете да курсор миша скаче или се сам помера, аутоматски, насумично док куцате на Виндовс преносном рачунару или рачунару, неки од ових предло...
Како да обрнете смер померања миша и додирних табли у оперативном систему Виндовс 10
Миш и Тоуцхпадрачунарство не само да олакшава рад, већ и ефикасније и мање времена. Не можемо замислити живот без ових уређаја, али ипак је чињеница д...