NodeJS

Ako nasadiť aplikáciu GraphQL pomocou uzla.js na serveri EC2

Ako nasadiť aplikáciu GraphQL pomocou uzla.js na serveri EC2
GraphQL, tiež známy ako Graph Query Language, založený a udržiavaný Facebookom, je dotazovací jazyk používaný pre API. Je zostavený pomocou programovacích jazykov JavaScript, Scala, Java a Ruby. Jeho základným účelom je vyžiadať si údaje zo servera na klienta.GraphQL agreguje údaje z rôznych zdrojov. Agregácia je proces filtrovania údajov na strane servera a následného odosielania filtrovaných údajov klientovi. Bez agregácie odošleme všetky údaje klientovi a potom sa údaje filtrujú na strane klienta. Vďaka tomu je systém pomalý a efektívnosť API môžeme zvýšiť pomocou GraphQL. Tu sa naučíme nasadiť jednoduchú aplikáciu GraphQL pomocou uzla.js na serveri EC2.

Inštalácia požadovaných balíkov

Prvým krokom k nasadeniu vašej aplikácie GraphQL je príprava servera inštaláciou požadovaných balíkov. Prihláste sa na server pomocou SSH.

[chránené e-mailom]: ~ $ ssh ubuntu @ IPAdress -i KeyPair.pem

POZNÁMKA: Skontrolujte, či je skupina zabezpečenia inštancie nakonfigurovaná tak, aby umožňovala pripojenie z portu 22, a súbor súkromného kľúča má povolenie 400.

Aktualizujte úložiská Ubuntu.

[chránené e-mailom]: ~ $ sudo apt-get update -y

Teraz nainštalujte uzol.js a npm na vašom serveri ubuntu.

[chránené e-mailom]: ~ $ sudo apt-get install nodejs -y
[chránené e-mailom]: ~ $ sudo apt-get install npm -y

Inštaláciu overte kontrolou verzie uzla.js a npm.

[chránené e-mailom]: ~ $ node -v
[chránené e-mailom]: ~ $ npm -v

Presuňte aplikáciu GraphQL na server EC2

Inštancia EC2 je pripravená na nasadenie aplikácií graphQL v uzle.js. Teraz presunieme náš kód do inštancie EC2. Dva bežné spôsoby kopírovania kódu na server sú uvedené nižšie a budú tu popísané.

Skopírujte aplikáciu pomocou príkazu scp

Ak chcete skopírovať svoju aplikáciu na server EC2 pomocou príkazu scp, najskôr zo svojej aplikácie graphQL odstráňte adresár 'node_modules'. Tento adresár obsahuje všetky balíky npm potrebné na spustenie aplikácie. Tieto balíčky nainštalujeme neskôr pred spustením aplikácie graphQL. Teraz komprimujte adresár projektu do súboru zip. Po vytvorení zip súboru presunieme zip súbor projektu na server. Linux a Windows majú rôzne metódy na vytvorenie súboru ZIP.

Windows

V systéme Windows kliknite pravým tlačidlom myši na koreňový adresár aplikácie a vyberte možnosť „poslať do“. Otvorí sa podmenu. Kliknutím na „komprimovaný (komprimovaný) priečinok“ vytvoríte súbor zip aplikácie graphQL.

Linux alebo Mac

V systéme Linux alebo Mac OS použijeme príkaz „zip“ na vytvorenie súboru zip projektu.

[chránené e-mailom]: ~ $ zip -r graphQL.zip graphQL

Vyššie uvedený príkaz vygeneruje graphQL.zip súbor adresára graphQL.

Nahrajte aplikáciu na server

Teraz máme súbor zip našej aplikácie a pomocou príkazu scp môžeme súbor zip nahrať na server.

[chránené e-mailom]: ~ $ scp -i KeyPair.pem graphQL.zip ubuntu @ IPAddress: ~ /

Vyššie uvedený príkaz presunie súbor zip projektu do domovského adresára vzdialeného servera cez ssh pripojenie. Teraz na vzdialenom serveri rozbaľte súbor zip projektu.

[chránené e-mailom]: ~ $ rozbaľte graphQL.PSČ

Klonujte aplikáciu z Github, Bitbucket alebo Gitlab

Druhá metóda na kopírovanie kódu aplikácie na server používa git. Nainštalujte git z príkazového riadku na serveri EC2.

[chránené e-mailom]: ~ $ sudo apt install git

Skontrolujte verziu git a overte inštaláciu.

[chránené e-mailom]: ~ $ git --version

Ak neposkytuje verziu git, potom git nie je nainštalovaný. Teraz klonujte aplikáciu z github, gitlab alebo bitbucket. Tu naklonujeme kód aplikácie z githubu.

[chránené e-mailom]: ~ $ git clone ttps: // github.com / contentful / the-example-app.nodejs

Spustenie aplikácie GraphQL

Teraz máme našu aplikáciu graphQL na vzdialenom serveri. Prejdite do koreňového adresára aplikácie graphQL a nainštalujte požadované balíčky npm na spustenie aplikácie graphQL.

[chránené e-mailom]: ~ $ cd graphQL
[chránené e-mailom]: ~ $ sudo npm inštalácia

Tento príkaz vykoná analýzu balíka.súbor JSON v projekte a nainštalujte všetky požadované balíčky NPM. Po nainštalovaní požadovaných balíkov teraz spustíme aplikáciu graphQL.

[chránené e-mailom]: ~ $ aplikácia uzla.js

Spustená aplikácia ako démon

Keď spustíme aplikáciu štandardnou metódou, ako je popísané vyššie, spustí sa v popredí a aplikácia sa zastaví, keď zatvoríte okno terminálu. Aplikáciu môžeme spustiť ako proces na pozadí tak, že k príkazu pripojíme znak ampersand (&).

[chránené e-mailom]: ~ $ aplikácia uzla.js &

Problém s touto metódou spočíva v tom, že keď upravíme náš kód aplikácie, použité zmeny sa automaticky neodrazia. Na uplatnenie zmien budeme musieť aplikáciu reštartovať zakaždým, keď upravíme kód. Na spustenie aplikácie na pozadí a na automatické uplatnenie zmien použijeme balíček npm s názvom pm2. Nainštalujte pm2 na server.

[chránené e-mailom]: ~ $ sudo npm install -g pm2

Spustite aplikáciu graphQL pomocou pm2.

[chránené e-mailom]: ~ $ pm2 spustenie aplikácie.js - názov „graphQL“ - hodinky

Príznak „-name“ pomenuje proces na pozadí a pomocou názvu môžeme aplikáciu spustiť a zastaviť. Príznak „-hodinky“ bude pokračovať v kontrole kódu aplikácie, aby sa zmeny mohli okamžite použiť. Viac informácií o pm2 sa dozviete na nasledujúcom odkaze

https: // pm2.keymetrics.io /

Dopytovanie GraphQL API z prehliadača

Môžeme nakonfigurovať našu aplikáciu graphQL tak, aby robila dotazy graphQL z prehliadača ručne. Za týmto účelom musíme vytvoriť samostatný koncový bod HTTP, na ktorý namontujeme server GraphQL API. A tento koncový bod HTTP sa použije na manuálne dotazy. Nasleduje kód na vytvorenie koncového bodu servera graphQL api.

const express = require ('express');
const graphqlHTTP = require ('express-graphql');
const buildSchema = require ('graphql');
const graphQLSchema = buildSchema ('
zadajte dopyt
správa: Reťazec
'
);
const func =
správa: () =>

návrat 'používate server graphql api';

;
const server = express ();
server.použitie ('/ graphql', graphqlHTTP (
schéma: graphQLSchema,
rootValue: func,
graphiql: pravda
));
server.počúvať (3000);

Teraz, po spustení servera, môžeme získať prístup k serveru graphQL api na nasledujúcej trase.

http: // localhost: 3000 / graphql

Dopytovanie GraphQL API pomocou CLI

V predchádzajúcej časti sme robili dotazy graphQL z prehliadača pomocou graphiql. Teraz budeme robiť dotazy graphQL pomocou rozhrania príkazového riadku v ubuntu. Z príkazového riadku použijeme na vytvorenie požiadavky HTTP POST modul curl.

[chránené e-mailom]: ~ $ curl -X POST -H "Content-Type: application / json" -d '"query": "message"' http: // localhost: 3000 / graphql

Programové dotazy na API GraphQL

Na programové vytváranie grafQL dotazov použijeme v uzle modul „načítanie uzlov“.js. Otvorený uzol.js v termináli.

[chránené e-mailom]: ~ $ uzol

Teraz urobte požiadavku HTTP POST na server pomocou modulu 'node-fetch'.

GraphQL je efektívny dotazovací jazyk a môže znížiť čas odozvy pri zadaní dotazu do databázy. Štandardné volania api na načítanie údajov z databázy zahŕňajú do odpovede veľa nepoužiteľných údajov, a preto sa zvyšuje čas odozvy, čo znižuje účinnosť. Dotaz na databázu pomocou GraphQL vráti iba užitočné údaje, a tým zníži čas odozvy. V tomto článku sme nasadili našu aplikáciu graphQL na inštanciu EC2.

Hry 5 najlepších arkádových hier pre Linux
5 najlepších arkádových hier pre Linux
V dnešnej dobe sú počítače vážne stroje používané na hranie hier. Ak nemôžete dosiahnuť nové najvyššie skóre, budete vedieť, čo tým myslím. V tomto pr...
Hry Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 vydané minulý mesiac, je šiestym vývojovým vydaním v 1.13.séria x a prináša množstvo vylepšení, najmä používateľského rozhra...
Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...