KnotenJS

So stellen Sie die GraphQL-Anwendung mithilfe von Node bereit.js auf dem EC2-Server

So stellen Sie die GraphQL-Anwendung mithilfe von Node bereit.js auf dem EC2-Server
GraphQL, auch bekannt als Graph Query Language, etabliert und gepflegt von Facebook, ist eine Abfragesprache, die für APIs verwendet wird. Es wurde mit den Programmiersprachen JavaScript, Scala, Java und Ruby erstellt. Sein grundlegender Zweck besteht darin, die Daten vom Server zum Client abzufragen.GraphQL aggregiert die Daten aus verschiedenen Quellen. Aggregation ist der Prozess des Filterns von Daten auf der Serverseite und des anschließenden Sendens der gefilterten Daten an den Client. Ohne Aggregation senden wir alle Daten an den Client und dann werden die Daten clientseitig gefiltert. Dadurch wird das System langsam und wir können die Effizienz einer API mithilfe von GraphQLQ verbessern. Hier lernen wir, eine einfache GraphQL-Anwendung mit node . bereitzustellen.js auf einem EC2-Server.

Erforderliche Pakete installieren

Der erste Schritt zur Bereitstellung Ihrer graphQL-Anwendung besteht darin, Ihren Server vorzubereiten, indem Sie die erforderlichen Pakete installieren. Melden Sie sich mit SSH am Server an.

[email protected]:~$ ssh ubuntu@IPAdress -i KeyPair.pem

HINWEIS: Stellen Sie sicher, dass die Sicherheitsgruppe der Instanz so konfiguriert ist, dass eine Verbindung von Port 22 zugelassen wird und die private Schlüsseldatei die Berechtigung 400 hat 400.

Ubuntu-Repositorys aktualisieren.

[email protected]:~$ sudo apt-get update -y

Jetzt Node installieren.js und npm auf Ihrem Ubuntu-Server.

[email protected]:~$ sudo apt-get install nodejs -y
[email protected]:~$ sudo apt-get install npm -y

Überprüfen Sie die Installation, indem Sie die Version des Knotens überprüfen.js und npm.

[email protected]:~$ Knoten -v
[email protected]:~$ npm -v

Verschieben Sie die GraphQL-Anwendung auf den EC2-Server

Die EC2-Instance ist bereit, graphQL-Anwendungen im Knoten bereitzustellen.js. Jetzt werden wir unseren Code in die EC2-Instanz verschieben. Zwei gängige Methoden zum Kopieren des Codes auf den Server sind unten aufgeführt und werden hier besprochen.

Anwendung mit dem Befehl scp kopieren

Um Ihre Anwendung mit dem scp-Befehl auf den EC2-Server zu kopieren, entfernen Sie zunächst das Verzeichnis 'node_modules' aus Ihrer graphQL-Anwendung. Dieses Verzeichnis enthält alle npm-Pakete, die zum Ausführen der Anwendung erforderlich sind. Wir werden diese Pakete später installieren, bevor wir die graphQL-Anwendung starten. Komprimieren Sie nun das Projektverzeichnis in eine Zip-Datei. Nach dem Erstellen der ZIP-Datei verschieben wir die ZIP-Datei des Projekts auf den Server. Linux und Windows haben unterschiedliche Methoden, um eine ZIP-Datei zu erstellen.

Fenster

Klicken Sie in Windows mit der rechten Maustaste auf das Stammverzeichnis der Anwendung und gehen Sie zur Option "Senden an". Es öffnet sich ein Untermenü. Klicken Sie auf den 'komprimierten (gezippten) Ordner', um eine ZIP-Datei der graphQL-Anwendung zu erstellen.

Linux oder Mac

Unter Linux oder Mac OS verwenden wir den Befehl 'zip', um eine Zip-Datei des Projekts zu erstellen.

[email protected]:~$ zip -r graphQL.zip graphQL

Der obige Befehl generiert den graphQL.zip-Datei des graphQL-Verzeichnisses.

Anwendung auf den Server hochladen

Jetzt haben wir eine ZIP-Datei unserer Anwendung und können die ZIP-Datei mit dem Befehl scp auf den Server hochladen.

[email protected]:~$ scp -i KeyPair.pem graphQL.zip ubuntu@IPAdresse:~/

Der obige Befehl verschiebt die Projekt-ZIP-Datei über die SSH-Verbindung in das Home-Verzeichnis des Remote-Servers. Entpacken Sie nun auf dem Remote-Server die Projekt-ZIP-Datei.

[email protected]:~$ graphQL entpacken.Postleitzahl

Anwendung von Github, Bitbucket oder Gitlab klonen

Die zweite Methode zum Kopieren von Anwendungscode auf den Server ist die Verwendung von git. Installieren Sie git über die Befehlszeile auf dem EC2-Server.

[email protected]:~$ sudo apt install git

Überprüfen Sie die Git-Version, um die Installation zu überprüfen.

[email protected]:~$ git --version

Wenn es die Version von git nicht angibt, ist git nicht installiert. Klonen Sie nun die Anwendung von github, gitlab oder bitbucket. Hier werden wir den Anwendungscode vom Github klonen.

[email protected]:~$ git clone ttps://github.com/contentful/the-example-app.nodejs

Starten der GraphQL-Anwendung

Jetzt haben wir unsere graphQL-Anwendung auf dem Remote-Server. Gehen Sie in das Stammverzeichnis der graphQL-Anwendung und installieren Sie die erforderlichen npm-Pakete, um die graphQL-Anwendung auszuführen run.

[email protected]:~$ cd graphQL
[email protected]:~$ sudo npm install

Dieser Befehl analysiert das Paket.json-Datei im Projekt und installieren Sie alle erforderlichen npm-Pakete. Nach der Installation der erforderlichen Pakete starten wir nun die graphQL-Anwendung.

[email protected]:~$ Knoten-App.js

Anwendung als Daemon ausführen

Wenn wir die Anwendung mit der oben beschriebenen Standardmethode ausführen, wird sie im Vordergrund ausgeführt und die Anwendung stoppt, wenn Sie das Terminalfenster schließen close. Wir können die Anwendung als Hintergrundprozess ausführen, indem wir das kaufmännische Und-Zeichen (&) an den Befehl anhängen.

[email protected]:~$ Knoten-App.js &

Das Problem bei dieser Methode besteht darin, dass die angewendeten Änderungen nicht automatisch widergespiegelt werden, wenn wir unseren Anwendungscode ändern. Wir müssen die Anwendung jedes Mal neu starten, wenn wir den Code ändern, um die Änderungen zu übernehmen. Um die Anwendung im Hintergrund auszuführen und Änderungen automatisch anzuwenden, verwenden wir ein npm-Paket namens pm2. pm2 auf dem Server installieren.

[email protected]:~$ sudo npm install -g pm2

Starten Sie die graphQL-Anwendung mit pm2.

[email protected]:~$ pm2 App starten.js --name „graphQL“ --watch

Das Flag '-name' benennt den Hintergrundprozess und wir können die Anwendung mit dem Namen starten und stoppen. Das Flag '-watch' überprüft weiterhin den Anwendungscode, um Änderungen sofort zu übernehmen. Sie können mehr über pm2 erfahren, indem Sie den folgenden Link besuchen

https://pm2.Schlüsselmetriken.io/

Abfragen der GraphQL-API aus dem Browser

Wir können unsere graphQL-Anwendung so konfigurieren, dass sie manuell graphQL-Abfragen aus dem Browser macht. Dazu müssen wir einen separaten HTTP-Endpunkt erstellen, auf dem wir den graphQL-API-Server mounten. Und dieser HTTP-Endpunkt wird verwendet, um manuelle Abfragen durchzuführen. Es folgt der Code zum Erstellen des graphQL-API-Server-Endpunkts.

const express = require('express');
const graphqlHTTP = require('express-graphql');
const buildSchema = require('graphql');
const graphQLSchema = buildSchema('
Typ Abfrage
Nachricht: String
'
);
const func =
Nachricht: () =>

return 'Sie verwenden den Graphql-API-Server';

;
const-Server = express();
Server.use('/graphql', graphqlHTTP(
Schema: graphQLSchema,
rootValue: func,
graphikl: wahr
));
Server.hören (3000);

Nach dem Ausführen des Servers können wir nun auf dem folgenden Weg auf den graphQL-API-Server zugreifen.

http://localhost:3000/graphql

Abfragen der GraphQL-API mit CLI

Im vorherigen Abschnitt haben wir graphQL-Abfragen aus dem Browser mit graphiql . erstellt. Jetzt werden wir graphQL-Abfragen über die Befehlszeilenschnittstelle in Ubuntu erstellen. Von der Befehlszeile aus verwenden wir das curl-Modul, um eine HTTP-POST-Anfrage zu stellen.

[email protected]:~$ curl -X POST -H "Content-Type: application/json" -d '"query": " message "' http://localhost:3000/graphql

GraphQL API programmgesteuert abfragen API

Um graphQL-Abfragen programmgesteuert durchzuführen, verwenden wir das Modul 'node-fetch' in node.js. Knoten öffnen.js im Terminal.

[email protected]:~$ Knoten

Stellen Sie nun die HTTP-POST-Anfrage an den Server mit dem Modul 'node-fetch'.

GraphQL ist eine effiziente Abfragesprache und kann die Antwortzeit einer an die Datenbank gestellten Abfrage verkürzen. Die Standard-API-Aufrufe zum Abrufen von Daten aus der Datenbank beinhalten viele unbrauchbare Daten in der Antwort, und daher erhöht sich die Antwortzeit, was die Effizienz verringert. Die Abfrage an die Datenbanken mit GraphQL gibt nur die Nutzdaten zurück und verkürzt somit die Antwortzeit. In diesem Artikel haben wir unsere graphQL-Anwendung auf einer EC2-Instance bereitgestellt.

Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...
So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...