NodeJS

A GraphQL alkalmazás telepítése a csomópont használatával.js az EC2 szerveren

A GraphQL alkalmazás telepítése a csomópont használatával.js az EC2 szerveren
A Facebook által létrehozott és fenntartott GraphQL, más néven Graph Query Language, az API-khoz használt lekérdezési nyelv. JavaScript, Scala, Java és Ruby programozási nyelvek segítségével épül fel. Alapvető célja az adatok kiszolgálóról kliensre való kikérése.A GraphQL összesíti az adatokat különböző forrásokból. Az összesítés az a folyamat, amikor kiszűrjük az adatokat a szerver oldalon, majd elküldjük a szűrt adatokat az ügyfélnek. Összegzés nélkül az összes adatot elküldjük az ügyfélnek, majd az adatokat a kliens oldalon leszűrjük. Ez lassítja a rendszert, és a GraphQL használatával javíthatjuk az API hatékonyságát. Itt megtanulunk egy egyszerű GraphQL alkalmazást telepíteni csomópont segítségével.js egy EC2 szerveren.

A szükséges csomagok telepítése

A graphQL alkalmazás telepítésének első lépése a szerver előkészítése a szükséges csomagok telepítésével. Jelentkezzen be a szerverre az SSH használatával.

[e-mail védett]: ~ $ ssh ubuntu @ IPAdress -i KeyPair.pem

JEGYZET: Győződjön meg arról, hogy a példány biztonsági csoportja úgy van konfigurálva, hogy engedélyezze a kapcsolatot a 22. portról, és a privát kulcsfájl 400 engedélyt kap.

Frissítse az Ubuntu adattárakat.

[e-mail védett]: ~ $ sudo apt-get update -y

Most telepítse a csomópontot.js és npm az ubuntu szerveren.

[e-mail védett]: ~ $ sudo apt-get install nodejs -y
[e-mail védett]: ~ $ sudo apt-get install npm -y

A csomópont verziójának ellenőrzésével ellenőrizze a telepítést.js és npm.

[e-mail védett]: ~ $ csomópont -v
[e-mail védett]: ~ $ npm -v

Vigye a GraphQL alkalmazást az EC2 Server-re

Az EC2 példány készen áll a graphQL alkalmazások telepítésére csomópontban.js. Most áthelyezzük a kódunkat az EC2 példányba. Az alábbiakban felsoroljuk a kód szerverre másolásának két általános módját, amelyeket itt tárgyalunk.

Alkalmazás másolása az scp parancs használatával

Az alkalmazás scp paranccsal történő másolásához az EC2 szerverre, először is, távolítsa el a 'node_modules' könyvtárat a graphQL alkalmazásból. Ez a könyvtár tartalmazza az alkalmazás futtatásához szükséges összes npm csomagot. Ezeket a csomagokat később telepítjük, mielőtt elindítanánk a graphQL alkalmazást. Most tömörítse a projekt könyvtárat egy zip fájlba. A zip fájl létrehozása után áthelyezzük a projekt zip fájlt a szerverre. A Linux és a Windows különböző módszerekkel képes létrehozni egy zip fájlt.

ablakok

A Windows rendszerben kattintson a jobb gombbal az alkalmazás gyökérkönyvtárára, és lépjen a 'küldés' opcióra. Megnyit egy almenüt. Kattintson a 'Tömörített (zipelt) mappára', hogy létrehozzon egy ZIP fájlt a graphQL alkalmazásból.

Linux vagy Mac

Linux vagy Mac OS rendszerben a 'zip' paranccsal hozzuk létre a projekt zip fájlját.

[e-mail védett]: ~ $ zip -r graphQL.zip graphQL

A fenti parancs létrehozza a graphQL-t.a graphQL könyvtár zip fájlja.

Töltse fel az alkalmazást a szerverre

Most van egy zip fájl az alkalmazásunkról, és feltölthetjük a zip fájlt a szerverre az scp parancs segítségével.

[e-mail védett]: ~ $ scp -i KeyPair.pem graphQL.zip ubuntu @ IP cím: ~ /

A fenti parancs áthelyezi a projekt zip fájlt a távoli kiszolgáló saját könyvtárába az ssh kapcsolaton keresztül. Most a távoli kiszolgálón csomagolja ki a projekt zip fájlt.

[e-mail védett]: ~ $ csomagolja ki a graphQL-t.postai irányítószám

Klónozás Github, Bitbucket vagy Gitlab alkalmazásból

Az alkalmazáskód szerverre másolásának második módja a git használata. Telepítse a git-t az EC2 szerver parancssorából.

[email protected]: ~ $ sudo apt install git

A telepítés ellenőrzéséhez ellenőrizze a git verziót.

[e-mail védett]: ~ $ git --version

Ha nem adja meg a git verzióját, akkor a git nincs telepítve. Most klónozza az alkalmazást a githubból, a gitlab-ból vagy a bitbucketből. Itt klónozzuk az alkalmazás kódját a githubból.

[e-mail védett]: ~ $ git klón ttps: // github.com / contentful / the-example-app.nodejs

A GraphQL alkalmazás elindítása

Most a távoli kiszolgálón van a graphQL alkalmazásunk. Lépjen a graphQL alkalmazás gyökérkönyvtárába, és telepítse a szükséges npm csomagokat a graphQL alkalmazás futtatásához.

[e-mail védett]: ~ $ cd graphQL
[e-mail védett]: ~ $ sudo npm install

Ez a parancs elemzi a csomagot.json fájlt a projektben, és telepítse az összes szükséges npm csomagot. A szükséges csomagok telepítése után most elindítjuk a graphQL alkalmazást.

[e-mail védett]: ~ $ csomópont alkalmazás.js

Az alkalmazás futtatása Daemon néven

Amikor az alkalmazást a fent leírt standard módszerrel futtatjuk, az az előtérben fut, és az alkalmazás leáll, amikor bezárja a terminál ablakát. Az alkalmazást háttérfolyamatként futtathatjuk, ha az ampersand (&) jelet hozzáfűzzük a parancshoz.

[e-mail védett]: ~ $ csomópont alkalmazás.js &

A probléma ezzel a módszerrel az, hogy amikor módosítjuk az alkalmazás kódunkat, az alkalmazott változások nem tükröződnek automatikusan. Minden alkalommal újra kell indítanunk az alkalmazást, amikor módosítjuk a kódot a módosítások alkalmazásához. Az alkalmazás háttérben történő futtatásához és a változtatások automatikus alkalmazásához egy pm2 nevű npm csomagot fogunk használni. Telepítse a pm2-t a szerverre.

[e-mail védett]: ~ $ sudo npm install -g pm2

Indítsa el a graphQL alkalmazást a pm2 használatával.

[e-mail védett]: ~ $ pm2 indító alkalmazás.js --name „graphQL” --óra

A '-name' jelző megnevezi a háttér folyamatát, és a név használatával elindíthatjuk és leállíthatjuk az alkalmazást. A '-watch' jelző ellenőrzi az alkalmazás kódját, hogy azonnal alkalmazza a módosításokat. A következő linkre kattintva többet tudhat meg a pm2-ről

https: // pm2.kulcstartás.io /

A GraphQL API lekérdezése a böngészőből

Konfigurálhatjuk a grafQL alkalmazást úgy, hogy manuálisan készítsen grafQL lekérdezéseket a böngészőből. Ehhez külön HTTP-végpontot kell létrehoznunk, amelyre fel fogjuk szerelni a graphQL API-kiszolgálót. És ezt a HTTP-végpontot kézi lekérdezések készítésére használják. Az alábbiakban a graphQL api kiszolgáló végpontjának létrehozására szolgáló kód található.

const express = igényel ('express');
const graphqlHTTP = igény ('express-graphql');
const buildSchema = szükség ('graphql');
const graphQLSchema = buildSchema ('
type Query
üzenet: Karakterlánc
'
);
const func =
üzenet: () =>

return: 'graphql api szervert használsz';

;
const szerver = express ();
szerver.use ('/ graphql', graphqlHTTP (
séma: graphQLSchema,
rootValue: func,
graphiql: igaz
));
szerver.hallgatni (3000);

A kiszolgáló futtatása után a következő útvonalon férhetünk hozzá a graphQL api szerverhez.

http: // localhost: 3000 / graphql

A GraphQL API lekérdezése a CLI használatával

Az előző részben grafQL lekérdezéseket készítettünk a böngészőből a graphiql segítségével. Most grafQL lekérdezéseket fogunk készíteni az ubuntu parancssori felületével. A parancssorból HTTP POST kérés készítéséhez a curl modult fogjuk használni.

[e-mail védett]: ~ $ curl -X POST -H "Content-Type: application / json" -d '"query": "message"' http: // localhost: 3000 / graphql

A GraphQL API lekérdezése programozva

Annak érdekében, hogy a graphQL lekérdezést programszerűen elkészítsük, a csomópontban a 'node-fetch' modult fogjuk használni.js. Nyissa meg a csomópontot.js a terminálban.

[e-mail védett]: ~ $ csomópont

Most küldje el a HTTP POST kérést a szerverre a 'node-fetch' modul segítségével.

A GraphQL hatékony lekérdezési nyelv, és csökkentheti az adatbázisba készített lekérdezés válaszidejét. Az adatbázisból adatok lekérésére szolgáló szabványos api hívások sok nem hasznos adatot tartalmaznak a válaszban, és ezáltal a válaszidő nő, ami csökkenti a hatékonyságot. A GraphQL használatával az adatbázisokhoz intézett lekérdezés csak a hasznos adatokat adja vissza, így lerövidíti a válaszidőt. Ebben a cikkben a grafQL alkalmazást telepítettük egy EC2 példányra.

OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...
OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...