Vaadittujen pakettien asentaminen
Ensimmäinen vaihe GraphQL-sovelluksen käyttöönotossa on valmistaa palvelimesi asentamalla tarvittavat paketit. Kirjaudu palvelimeen SSH: n avulla.
[sähköposti suojattu]: ~ $ ssh ubuntu @ IPAdress -i KeyPair.pemMERKINTÄ: Varmista, että ilmentymän suojausryhmä on määritetty sallimaan yhteys portista 22 ja yksityisen avaimen tiedostolla on 400 käyttöoikeutta.
Päivitä Ubuntun arkistot.
[sähköposti suojattu]: ~ $ sudo apt-get update -yAsenna nyt solmu.js ja npm ubuntu-palvelimellasi.
[sähköposti suojattu]: ~ $ sudo apt-get install nodejs -y[sähköposti suojattu]: ~ $ sudo apt-get install npm -y
Tarkista asennus tarkistamalla solmun versio.js ja npm.
[sähköposti suojattu]: ~ $ solmu -v[sähköposti suojattu]: ~ $ npm -v
Siirrä GraphQL-sovellus EC2-palvelimeen
EC2-ilmentymä on valmis asentamaan graphQL-sovelluksia solmuun.js. Nyt siirrämme koodimme EC2-ilmentymään. Alla on lueteltu kaksi yleistä tapaa kopioida koodi palvelimelle, ja niistä keskustellaan täällä.
- Kopioi koodi scp-komennolla
- Kloonaa sovelluskoodi Githubista, Gitlabista tai Bitbucketista
Kopioi sovellus scp-komennolla
Jos haluat kopioida sovelluksesi EC2-palvelimelle scp-komennolla, poista ensin hakemiston 'solmu_moduulit' grafQL-sovelluksesta. Tässä hakemistossa on kaikki sovelluksen suorittamiseen tarvittavat npm-paketit. Asennamme nämä paketit myöhemmin ennen graphQL-sovelluksen käynnistämistä. Pakkaa nyt projektihakemisto zip-tiedostoksi. Kun olet luonut zip-tiedoston, siirrämme projektin zip-tiedoston palvelimelle. Linuxilla ja Windowsilla on erilaisia tapoja luoda zip-tiedosto.
Windows
Napsauta Windowsissa hiiren kakkospainikkeella sovelluksen juurihakemistoa ja siirry Lähetä-vaihtoehtoon. Se avaa alivalikon. Napsauta Pakattu (zipattu) kansiota luodaksesi zip-tiedoston graphQL-sovelluksesta.
Linux tai Mac
Linux- tai Mac OS -käyttöjärjestelmässä käytämme zip-komentoa projektin zip-tiedoston luomiseen.
[sähköposti suojattu]: ~ $ zip -r graphQL.zip graphQLYllä oleva komento luo graphQL: n.graphQL-hakemiston zip-tiedosto.
Lähetä sovellus palvelimelle
Nyt meillä on sovelluksemme zip-tiedosto, ja voimme ladata zip-tiedoston palvelimelle scp-komennolla.
[sähköposti suojattu]: ~ $ scp -i KeyPair.pem-grafiikkaQL.zip ubuntu @ IP-osoite: ~ /Yllä oleva komento siirtää projektin zip-tiedoston etäpalvelimen kotihakemistoon ssh-yhteyden kautta. Pura nyt projektin zip-tiedosto etäpalvelimella.
[sähköposti suojattu]: ~ $ pura graphQL.postinumeroKloonisovellus Githubista, Bitbucketista tai Gitlabista
Toinen tapa kopioida sovelluskoodi palvelimelle on git. Asenna git EC2-palvelimen komentoriviltä.
[sähköposti suojattu]: ~ $ sudo apt install gitTarkista asennus git-versiosta.
[sähköposti suojattu]: ~ $ git --versio
Jos se ei anna git-versiota, git-tiedostoa ei asenneta. Kloonaa sovellus nyt githubista, gitlabista tai bitbucketista. Täällä kloonataan sovelluskoodi githubista.
[sähköposti suojattu]: ~ $ git klooni ttps: // github.fi / contentful / the-example-app.nodejsKäynnistetään GraphQL-sovellus
Nyt meillä on graphQL-sovellus etäpalvelimella. Siirry graphQL-sovelluksen juurihakemistoon ja asenna vaaditut npm-paketit ajaaksesi graphQL-sovelluksen.
[sähköposti suojattu]: ~ $ cd graphQL[sähköposti suojattu]: ~ $ sudo npm install
Tämä komento analysoi paketin.json-tiedosto projektissa ja asenna kaikki vaaditut npm-paketit. Vaadittujen pakettien asentamisen jälkeen nyt käynnistämme graphQL-sovelluksen.
[sähköposti suojattu]: ~ $ solmu -sovellus.jsSuoritetaan sovellusta Daemonina
Kun suoritamme sovelluksen yllä kuvatulla tavanomaisella menetelmällä, se toimii etualalla ja sovellus pysähtyy, kun suljet pääteikkunan. Voimme suorittaa sovelluksen taustaprosessina liittämällä ampersand (&) -merkin komentoon.
[sähköposti suojattu]: ~ $ solmu -sovellus.js &Tämän menetelmän ongelmana on, että kun muokkaamme sovelluskoodiamme, tehdyt muutokset eivät heijastu automaattisesti. Meidän on käynnistettävä sovellus uudelleen joka kerta, kun muokkaamme koodia muutosten soveltamiseksi. Sovelluksen ajamiseksi taustalla ja muutosten automaattiseen soveltamiseen käytämme npm-pakettia nimeltä pm2. Asenna pm2 palvelimelle.
[sähköposti suojattu]: ~ $ sudo npm install -g pm2Käynnistä graphQL-sovellus pm2: llä.
[sähköposti suojattu]: ~ $ pm2 käynnistyssovellus.js - nimi “graphQL” - kello'-Name' -lippu nimeää taustaprosessin, ja voimme käynnistää ja pysäyttää sovelluksen käyttämällä nimeä. '-Watch' -lippu jatkaa sovelluskoodin tarkistamista muutosten soveltamiseksi välittömästi. Voit oppia lisää pm2: stä seuraavasta linkistä
https: // pm2.avaimetrit.io /
Kysytään GraphQL-sovellusliittymää selaimelta
Voimme määrittää graphQL-sovelluksemme tekemään grafQL-kyselyjä selaimesta manuaalisesti. Tätä varten meidän on luotava erillinen HTTP-päätepiste, johon asennamme graphQL API -palvelimen. Ja tätä HTTP-päätepistettä käytetään manuaalisten kyselyjen tekemiseen. Seuraava on koodi, jolla luodaan graphQL api -palvelimen päätepiste.
const express = vaatia ('express');const graphqlHTTP = vaatia ('express-graphql');
const buildSchema = vaatia ('graphql');
const graphQLSchema = buildSchema ('
kirjoita kysely
viesti: Merkkijono
'
);
const func =
viesti: () =>
palauta 'käytät graphql api -palvelinta';
;
const-palvelin = express ();
palvelin.käytä ('/ graphql', graphqlHTTP (
skeema: graphQLSchema,
rootValue: funktio,
graphiql: totta
));
palvelin.kuuntele (3000);
Palvelimen suorittamisen jälkeen voimme nyt käyttää graphQL-api-palvelinta seuraavalla reitillä.
http: // localhost: 3000 / graphql
GraphQL-sovellusliittymän kysely CLI: n avulla
Edellisessä osassa teimme graphQL-kyselyjä selaimelta grafiql: n avulla. Nyt aiomme tehdä graphQL-kyselyitä käyttämällä komentoriviliittymää Ubuntu. Komentoriviltä HTTP POST -pyynnön tekemiseen käytämme curl-moduulia.
[sähköposti suojattu]: ~ $ curl -X POST -H "Content-Type: application / json" -d '"query": "message"' http: // localhost: 3000 / graphql
Kysely GraphQL API: sta ohjelmallisesti
Jos haluat tehdä graphQL-kyselyn ohjelmallisesti, käytämme solmussa 'node-fetch' -moduulia.js. Avaa solmu.js terminaalissa.
[sähköposti suojattu]: ~ $ solmuTee nyt HTTP POST -pyyntö palvelimelle 'solmu-nouto' -moduulilla.
GraphQL on tehokas kyselykieli, ja se voi lyhentää tietokantaan tehdyn kyselyn vasteaikaa. Tavalliset api-puhelut tietojen hakemiseksi tietokannasta sisältävät monia käyttämättömiä tietoja vastaukseen ja siten vasteaika kasvaa, mikä vähentää tehokkuutta. GraphQL: n avulla tietokantoihin tehty kysely palauttaa vain hyödylliset tiedot ja lyhentää siten vasteaikaa. Tässä artikkelissa olemme asentaneet graphQL-sovelluksemme EC2-ilmentymään.