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.pemJEGYZET: 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 -yMost 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.
- Másolja a kódot az scp paranccsal
- Klónozza az alkalmazás kódját a Github, a Gitlab vagy a Bitbucket oldalról
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 graphQLA 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ámKló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 gitA 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.nodejsA 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.jsAz 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 pm2Indítsa el a graphQL alkalmazást a pm2 használatával.
[e-mail védett]: ~ $ pm2 indító alkalmazás.js --name „graphQL” --óraA '-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ópontMost 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.