Инсталирање потребних пакета
Први корак за примену ваше ГрапхКЛ апликације је припрема вашег сервера инсталирањем потребних пакета. Пријавите се на сервер користећи ССХ.
[заштићена е-поштом]: ~ $ ссх убунту @ ИПАдресс -и КеиПаир.пемБЕЛЕШКА: Уверите се да је безбедносна група инстанце конфигурисана да дозвољава везу са порта 22 и да датотека приватног кључа има 400 дозвола.
Ажурирајте Убунту спремишта.
[заштићен е-поштом]: ~ $ судо апт-гет упдате -иСада инсталирајте чвор.јс и нпм на вашем убунту серверу.
[заштићен е-поштом]: ~ $ судо апт-гет инсталл нодејс -и[заштићен е-поштом]: ~ $ судо апт-гет инсталл нпм -и
Проверите инсталацију провером верзије чвора.јс и нпм.
[заштићен е-поштом]: ~ $ ноде -в[заштићен е-поштом]: ~ $ нпм -в
Преместите ГрапхКЛ апликацију на ЕЦ2 сервер
Инстанца ЕЦ2 је спремна за примену грапхКЛ апликација у чвор.јс. Сада ћемо преместити наш код на инстанцу ЕЦ2. У наставку су наведена два уобичајена начина копирања кода на сервер и о њима ће бити речи овде.
- Копирајте код помоћу сцп наредбе
- Клонирајте код апликације из Гитхуб-а, Гитлаба или Битбуцкет-а
Копирање апликације помоћу наредбе сцп
Да бисте копирали своју апликацију на ЕЦ2 сервер помоћу наредбе сцп, прво уклоните директоријум 'ноде_модулес' из ваше грапхКЛ апликације. Овај директоријум садржи све нпм пакете потребне за покретање апликације. Ове пакете ћемо инсталирати касније пре покретања графичке апликације. Сада компресујте директоријум пројекта у зип датотеку. Након креирања зип датотеке, преселит ћемо зип датотеку пројекта на сервер. Линук и Виндовс имају различите методе за стварање зип датотеке.
Виндовс
У прозорима кликните десним тастером миша на основни директоријум апликације и идите на опцију 'пошаљи у'. Отвориће се подмени. Кликните на „Компресовани (зиповани) директоријум“ да бисте креирали зип датотеку апликације грапхКЛ.
Линук или Мац
У Линук-у или Мац ОС-у користићемо команду 'зип' да бисмо креирали зип датотеку пројекта.
[заштићен е-поштом]: ~ $ зип -р грапхКЛ.зип грапхКЛГорња команда ће генерисати грапхКЛ.зип датотека директоријума грапхКЛ.
Отпремите апликацију на сервер
Сада имамо зип датотеку наше апликације, а зип датотеку можемо послати на сервер помоћу команде сцп.
[заштићен е-поштом]: ~ $ сцп -и КеиПаир.пем грапхКЛ.зип убунту @ ИПАддресс: ~ /Горња наредба ће преместити зип датотеку пројекта у кућни директоријум удаљеног сервера преко ссх везе. Сада на удаљеном серверу распакујте зип датотеку пројекта.
[заштићен е-поштом]: ~ $ унзип грапхКЛ.зипКлонирајте апликацију из Гитхуб-а, Битбуцкет-а или Гитлаба
Други начин копирања апликационог кода на сервер је коришћење гит-а. Инсталирајте гит из командне линије на ЕЦ2 серверу.
[заштићен е-поштом]: ~ $ судо апт инсталл гитПроверите верзију гит да бисте потврдили инсталацију.
[заштићена е-поштом]: ~ $ гит --версион
Ако не даје верзију гит-а, тада гит није инсталиран. Сада клонирајте апликацију из гитхуб-а, гитлаба или битбуцкет-а. Овде ћемо клонирати код апликације из гитхуб-а.
[заштићен е-поштом]: ~ $ гит цлоне ттпс: // гитхуб.цом / цонтентфул / тхе-екампле-апп.нодејсПокретање ГрапхКЛ апликације
Сада имамо нашу графичку апликацијуКЛКЛ на удаљеном серверу. Идите у основни директоријум грапхКЛ апликације и инсталирајте потребне нпм пакете за покретање грапхКЛ апликације.
[заштићен е-поштом]: ~ $ цд грапхКЛ[заштићен е-поштом]: ~ $ судо нпм инсталл
Ова наредба ће анализирати пакет.јсон датотеку у пројекту и инсталирајте све потребне нпм пакете. Након инсталирања потребних пакета, сада ћемо покренути апликацију грапхКЛ.
[заштићена е-поштом]: ~ $ ноде апп.јсПокретање апликације као Даемон
Када апликацију покренемо стандардном методом као што је горе описано, она ради у првом плану и апликација се зауставља када затворите прозор терминала. Апликацију можемо покренути као позадински поступак додавањем знака амперсанд (&) наредби.
[заштићена е-поштом]: ~ $ ноде апп.јс &Проблем ове методе је у томе што када изменимо код апликације, примењене промене се неће аутоматски одразити. Морат ћемо поново покренути апликацију сваки пут када модификујемо код како бисмо примијенили промјене. Да бисмо покренули апликацију у позадини и аутоматски применили промене, користићемо нпм пакет назван пм2. Инсталирајте пм2 на сервер.
[заштићен е-поштом]: ~ $ судо нпм инсталл -г пм2Покрените грапхКЛ апликацију помоћу пм2.
[заштићена е-поштом]: ~ $ пм2 старт апп.јс --наме “грапхКЛ” --ватцхОзнака '-наме' именоваће позадински процес, а апликацију можемо покренути и зауставити помоћу имена. Ознака '-ватцх' наставиће да проверава код апликације како би одмах применила промене. Више о пм2 можете сазнати ако посетите следећу везу
хттпс: // пм2.кеиметрицс.ио /
Упит за ГрапхКЛ АПИ из прегледача
Можемо да конфигуришемо нашу графичку апликацијуКЛ да ручно израђује графичке упите из претраживача. За ово морамо створити засебну ХТТП крајњу тачку на коју ћемо монтирати ГрапхКЛ АПИ сервер. А ова ХТТП крајња тачка ће се користити за ручно постављање упита. Следи код за стварање крајње тачке графичког апи сервера.
цонст екпресс = рекуире ('екпресс');цонст грапхклХТТП = рекуире ('екпресс-грапхкл');
цонст буилдСцхема = рекуире ('грапхкл');
цонст грапхКЛСцхема = буилдСцхема ('
типе Куери
порука: Стринг
'
);
цонст фунц =
порука: () =>
ретурн 'користите графички апи сервер';
;
цонст сервер = екпресс ();
сервер.усе ('/ грапхкл', грапхклХТТП (
шема: грапхКЛСцхема,
роотВалуе: фунц,
грапхикл: тачно
));
сервер.слушати (3000);
Сада, након покретања сервера, можемо приступити грапхКЛ апи серверу на следећој рути.
хттп: // лоцалхост: 3000 / грапхкл
Упит за ГрапхКЛ АПИ помоћу ЦЛИ
У претходном одељку смо направили ГрапхКЛ упите из прегледача користећи грапхикл. Сада ћемо правити ГрапхКЛ упите користећи интерфејс за командну линију у убунту-у. Из командне линије, да бисмо упутили ХТТП ПОСТ захтев, користићемо модул цурл.
[заштићена е-поштом]: ~ $ цурл -Кс ПОСТ -Х "Цонтент-Типе: апплицатион / јсон" -д '"куери": "мессаге"' хттп: // лоцалхост: 3000 / грапхкл
Програмско испитивање АПИ-ја ГрапхКЛ
Да бисмо програмски извршили ГрапхКЛ упит, користићемо модул 'ноде-фетцх' у чвору.јс. Отворени чвор.јс у терминалу.
[заштићен е-поштом]: ~ $ чворСада упутите ХТТП ПОСТ захтев серверу помоћу модула 'ноде-фетцх'.
ГрапхКЛ је ефикасан језик упита и може смањити време одзива упита упућеног бази података. Стандардни апи позиви за преузимање података из базе података укључују много некорисних података у одговору, а тиме се и време одзива повећава, што смањује ефикасност. Упит упућен базама података помоћу ГрапхКЛ-а враћа само корисне податке и тиме смањује време одзива. У овом чланку смо нашу графичку апликацију применили на ЕЦ2 инстанцу.