NodeJS

Jak wdrożyć aplikację GraphQL za pomocą węzła?.js na serwerze EC2

Jak wdrożyć aplikację GraphQL za pomocą węzła?.js na serwerze EC2
GraphQL, znany również jako Graph Query Language, stworzony i utrzymywany przez Facebook, to język zapytań używany w interfejsach API. Jest zbudowany przy użyciu języków programowania JavaScript, Scala, Java i Ruby. Jego podstawowym celem jest żądanie danych z serwera do klienta.GraphQL agreguje dane z różnych źródeł. Agregacja to proces filtrowania danych po stronie serwera, a następnie wysyłanie przefiltrowanych danych do klienta. Bez agregacji przesyłamy wszystkie dane do klienta, a następnie dane są filtrowane po stronie klienta. To spowalnia system i możemy poprawić wydajność API, używając GraphQL. Tutaj nauczymy się wdrażać prostą aplikację GraphQL przy użyciu węzła.js na serwerze EC2.

Instalowanie wymaganych pakietów

Pierwszym krokiem do wdrożenia aplikacji graphQL jest przygotowanie serwera poprzez zainstalowanie wymaganych pakietów. Zaloguj się do serwera za pomocą SSH.

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

UWAGA: Upewnij się, że grupa bezpieczeństwa instancji jest skonfigurowana tak, aby zezwalać na połączenie z portu 22, a plik klucza prywatnego ma uprawnienia 400.

Zaktualizuj repozytoria Ubuntu.

[ochrona poczty e-mail]:~$ sudo apt-get update -y

Teraz zainstaluj węzeł.js i npm na serwerze ubuntu.

[ochrona poczty e-mail]:~$ sudo apt-get install nodejs -y
[ochrona poczty e-mail]:~$ sudo apt-get install npm -y

Zweryfikuj instalację, sprawdzając wersję węzła.js i npm.

[email chroniony]:~$ node -v
[ochrona poczty e-mail]:~$ npm -v

Przenieś aplikację GraphQL na serwer EC2

Instancja EC2 jest gotowa do wdrożenia aplikacji graphQL w węźle.js. Teraz przeniesiemy nasz kod do instancji EC2. Poniżej wymieniono dwa popularne sposoby kopiowania kodu na serwer, które zostaną omówione tutaj.

Skopiuj aplikację za pomocą polecenia scp

Aby skopiować swoją aplikację na serwer EC2 za pomocą polecenia scp, najpierw usuń katalog 'node_modules' z aplikacji graphQL. Ten katalog zawiera wszystkie pakiety npm wymagane do uruchomienia aplikacji. Zainstalujemy te pakiety później przed uruchomieniem aplikacji graphQL. Teraz skompresuj katalog projektu do pliku zip. Po utworzeniu pliku zip przeniesiemy plik zip projektu na serwer. Linux i Windows mają różne metody tworzenia pliku zip.

Okna

W systemie Windows kliknij prawym przyciskiem myszy katalog główny aplikacji i przejdź do opcji „wyślij do”. Otworzy podmenu. Kliknij „Folder skompresowany (zip)”, aby utworzyć plik zip aplikacji graphQL.

Linux lub Mac

W systemie Linux lub Mac OS użyjemy polecenia „zip”, aby utworzyć plik zip projektu.

[email chroniony]:~$ zip -r graphQL.zip wykresQL

Powyższe polecenie wygeneruje graphQL.plik zip katalogu graphQL.

Prześlij aplikację na serwer

Teraz mamy plik zip naszej aplikacji i możemy go wgrać na serwer za pomocą polecenia scp.

[email chroniony]:~$ scp -i KeyPair.wykres pemQL.zip ubuntu@adresIP:~/

Powyższe polecenie przeniesie plik zip projektu do katalogu domowego zdalnego serwera przez połączenie ssh. Teraz na zdalnym serwerze rozpakuj plik zip projektu.

[email chroniony]:~$ unzip graphQL.zamek błyskawiczny

Klonuj aplikację z Github, Bitbucket lub Gitlab

Drugą metodą kopiowania kodu aplikacji na serwer jest użycie git. Zainstaluj git z wiersza poleceń na serwerze EC2.

[ochrona poczty e-mail]:~$ sudo apt install git

Sprawdź wersję git, aby zweryfikować instalację.

[email chroniony]:~$ git --wersja

Jeśli nie podaje wersji git, to git nie jest zainstalowany. Teraz sklonuj aplikację z github, gitlab lub bitbucket. Tutaj sklonujemy kod aplikacji z github.

[email chroniony]:~$ git clone ttps://github.com/contentful/przykładowa-aplikacja.nodejs

Uruchamianie aplikacji GraphQL

Teraz mamy naszą aplikację graphQL na zdalnym serwerze. Przejdź do katalogu głównego aplikacji graphQL i zainstaluj wymagane pakiety npm, aby uruchomić aplikację graphQL.

[ochrona poczty e-mail]:~$ cd graphQL
[ochrona poczty e-mail]:~$ instalacja sudo npm

To polecenie przeanalizuje pakiet.json w projekcie i zainstaluj wszystkie wymagane pakiety npm. Po zainstalowaniu wymaganych pakietów, teraz uruchomimy aplikację graphQL.

[ochrona poczty e-mail]:~$ aplikacja węzła.js

Uruchamianie aplikacji jako demona

Gdy uruchamiamy aplikację standardową metodą, jak opisano powyżej, uruchamia się ona na pierwszym planie, a aplikacja zatrzymuje się po zamknięciu okna terminala. Możemy uruchomić aplikację jako proces w tle, dołączając znak ampersand (&) do polecenia.

[email chroniony]:~$ aplikacja węzła.js &

Problem z tą metodą polega na tym, że gdy zmodyfikujemy kod aplikacji, zastosowane zmiany nie zostaną odzwierciedlone automatycznie. Będziemy musieli ponownie uruchamiać aplikację za każdym razem, gdy zmodyfikujemy kod, aby zastosować zmiany. Aby uruchomić aplikację w tle i automatycznie wprowadzać zmiany, użyjemy pakietu npm o nazwie pm2. Zainstaluj pm2 na serwerze.

[ochrona poczty e-mail]:~$ sudo npm install -g pm2

Uruchom aplikację graphQL używając pm2.

[ochrona poczty e-mail]: ~ $ pm2 start aplikacji.js --name “graphQL” --watch

Flaga '-name' nada nazwę procesowi działającemu w tle, a my możemy uruchomić i zatrzymać aplikację używając nazwy. Flaga „-watch” będzie sprawdzać kod aplikacji, aby natychmiast zastosować zmiany. Możesz dowiedzieć się więcej o pm2 odwiedzając poniższy link

https://pm2.kluczowe metryki.io/

Odpytywanie GraphQL API z przeglądarki

Możemy skonfigurować naszą aplikację graphQL, aby ręcznie wykonywać zapytania graphQL z przeglądarki. W tym celu musimy stworzyć osobny endpoint HTTP, na którym będziemy montować serwer graphQL API. A ten punkt końcowy HTTP będzie używany do wykonywania ręcznych zapytań. Poniżej znajduje się kod do utworzenia punktu końcowego serwera graphQL api.

const express = require('express');
const graphqlHTTP = require('express-graphql');
const schemat budowy = require('graphql');
const graphQLSchema = buildSchema('
wpisz zapytanie
wiadomość: Ciąg
'
);
const func =
wiadomość: () =>

return 'używasz serwera graphql api';

;
const serwer = express();
serwer.użyj('/graphql', graphqlHTTP(
schemat: graphQLSchema,
rootValue: func,
graphiql: prawda
));
serwer.słuchaj(3000);

Teraz, po uruchomieniu serwera, możemy uzyskać dostęp do serwera graphQL api na następującej trasie.

http://localhost:3000/graphql

Odpytywanie GraphQL API za pomocą CLI

W poprzedniej sekcji wykonaliśmy zapytania graphQL z przeglądarki za pomocą graphiql. Teraz będziemy tworzyć zapytania graphQL za pomocą interfejsu wiersza poleceń w ubuntu. Z wiersza poleceń, aby wykonać żądanie HTTP POST, użyjemy modułu curl.

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

Programowe wysyłanie zapytań do GraphQL API

Aby programowo wykonać zapytanie graphQL, użyjemy modułu 'node-fetch' w węźle.js. Otwórz węzeł.js w terminalu.

[email chroniony]:~$ node

Teraz wyślij żądanie HTTP POST do serwera za pomocą modułu „node-fetch”'.

GraphQL to wydajny język zapytań, który może skrócić czas odpowiedzi na zapytanie skierowane do bazy danych. Standardowe wywołania API w celu pobrania danych z bazy danych zawierają wiele nieprzydatnych danych w odpowiedzi, a tym samym wydłuża się czas odpowiedzi, co zmniejsza wydajność. Zapytanie do baz danych za pomocą GraphQL zwraca tylko przydatne dane, a tym samym skraca czas odpowiedzi. W tym artykule wdrożyliśmy naszą aplikację graphQL na instancji EC2.

Gry Jak zainstalować League Of Legends na Ubuntu 14.04
Jak zainstalować League Of Legends na Ubuntu 14.04
Jeśli jesteś fanem League of Legends, to jest okazja do przetestowania League of Legends. Pamiętaj, że LOL jest obsługiwany w PlayOnLinux, jeśli jeste...
Gry Zainstaluj najnowszą grę strategiczną OpenRA na Ubuntu Linux
Zainstaluj najnowszą grę strategiczną OpenRA na Ubuntu Linux
OpenRA to darmowy silnik gier strategicznych czasu rzeczywistego, który odtwarza wczesne gry Westwood, takie jak klasyczny Command & Conquer: Red Aler...
Gry Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Emulator Dolphin pozwala grać w wybrane gry Gamecube i Wii na komputerach osobistych z systemem Linux (PC). Będąc ogólnodostępnym emulatorem gier o o...