"Enter"a basıp içeriğe geçin

Bir EC2 sunucusunda Node.js kullanarak GraphQL uygulaması nasıl dağıtılır – Linux ipucu

GraphQL, Facebook tarafından kurulan ve sürdürülen, Graph Query Language olarak da bilinir, API’ler için bir sorgulama dilidir. JavaScript, Scala, Java ve Ruby programlama dilleri kullanılarak oluşturulmuştur. Ana amacı, sunucudan istemciye veri talep etmektir. GraphQL, çeşitli kaynaklardan veri toplar. Aggregate, sunucu tarafında verilerin filtrelenmesi ve daha sonra filtrelenmiş verilerin istemciye gönderilmesi işlemidir. Toplama olmadan tüm verileri müşteriye göndeririz ve ardından veriler müşteri tarafında filtrelenir. Bu, sistemi yavaşlatır ve GraphQL kullanarak API verimliliğini artırabiliriz. Burada bir EC2 sunucusunda node.js kullanarak basit bir GraphQL uygulamasının nasıl konuşlandırılacağını öğreneceğiz.

Gerekli paketleri kurun

Bir GraphQL uygulamasını devreye almanın ilk adımı, gerekli paketleri kurarak sunucunuzu hazırlamaktır. SSH kullanarak sunucuya giriş yapın.

[e-posta korumalı]: ~ $ ssh ubuntu@IP adresi Kahve KeyPair.pem

Değil: Örneğin, güvenlik grubunun 22 numaralı bağlantı noktasında iletişime izin verecek şekilde yapılandırıldığından ve anahtar dosyasının 400 iznine sahip olduğundan emin olun.

Ubuntu depolarını güncelleyin.

[e-posta korumalı]: ~ $ sudoapt-get güncellemesi-s

Şimdi ubuntu sunucunuza node.js ve npm’yi kurun.

[e-posta korumalı]: ~ $ sudoapt-get’i yükleyin Düğüm -s
[e-posta korumalı]: ~ $ sudoapt-get’i yükleyin npm -s

node.js ve npm sürümlerini kontrol ederek kurulumunuzu doğrulayın.

[e-posta korumalı]: ~ $ Düğüm -Beşinci
[e-posta korumalı]: ~ $ npm -Beşinci

GraphQL uygulamasını EC2 sunucusuna taşıyın

EC2 bulut sunucunuz GraphQL uygulamalarını node.js’ye dağıtmaya hazır. Şimdi kodumuzu EC2 bulut sunucusuna geçireceğiz. Sunucuya kod kopyalamanın iki yaygın yolu aşağıda listelenmiştir ve burada ele alınacaktır.

  • scp komutunu kullanarak kodu kopyalayın
  • Github, Gitlab veya Bitbucket’ten uygulama kodunu klonlayın

scp komutunu kullanarak uygulamayı kopyalayın

Uygulamanızı scp komutunu kullanarak EC2 sunucusuna kopyalamak için öncelikle “node_modules” dizinini GraphQL uygulamanızdan kaldırın. Bu dizin, uygulamayı çalıştırmak için gereken tüm npm paketlerini içerir. GraphQL uygulamasını başlatmadan önce bu paketleri daha sonra kuracağız. Şimdi proje dizinini bir zip dosyasına sıkıştırın. Zip dosyası oluşturulduktan sonra proje zip dosyasını sunucuya aktaracağız. Linux ve Windows’un zip dosyası oluşturmanın farklı yolları vardır.

pencereler

Windows’ta, uygulama kök dizinine sağ tıklayın ve Gönder’e gidin. Bir alt menü açılacaktır. Bir GraphQL uygulama zip dosyası oluşturmak için Zip Klasörü’ne tıklayın.

Linux veya Mac

Linux veya Mac OS’de proje için bir zip dosyası oluşturmak için “zip” komutunu kullanacağız.

[e-posta korumalı]: ~ $ Fermuar-r GraphQL.zip GraphQL

Yukarıdaki komut, GraphQL dizini için bir GraphQL.zip dosyası oluşturacaktır.

Uygulamayı sunucuya yükleyin

Artık uygulamamızın bir zip dosyasına sahibiz ve zip dosyasını scp komutunu kullanarak sunucuya yükleyebiliriz.

[e-posta korumalı]: ~ $ scpKahve KeyPair.pem GraphQL.zip ubuntu@IP adresleri: ~/

Yukarıdaki komut, projenin zip dosyasını ssh bağlantısı aracılığıyla uzak sunucunun ana dizinine taşıyacaktır. Şimdi proje zip dosyasını uzak sunucuda açın.

[e-posta korumalı]: ~ $ Sıkıştırılmış graphicQL.zip

Github, Bitbucket veya Gitlab’dan uygulamayı klonlayın

Uygulama kodunu sunucuya kopyalamanın ikinci yolu git kullanmaktır. Git’i EC2 sunucusundaki komut satırından yükleyin.

[e-posta korumalı]: ~ $ sudo uygun İndirmekaptal insan

Yüklemeyi doğrulamak için git sürümünü kontrol edin.

[e-posta korumalı]: ~ $ aptal insan–İhraç

Bir git sürümü sağlamıyorsa git kurulmayacaktır. Şimdi uygulamayı github, gitlab veya bitbucket’ten klonlayın. Burada uygulama kodunu github’dan klonlayacağız.

[e-posta korumalı]: ~ $ git klonu tps://github.com/memnun/the-example-app.nodejs

GraphQL uygulamasını başlatın

Artık uzak sunucuda bir GraphQL uygulamamız var. GraphQL uygulamasının kök dizinine gidin ve GraphQL uygulamasını çalıştırmak için gereken npm paketlerini kurun.

[e-posta korumalı]: ~ $ CD grafik ql
[e-posta korumalı]: ~ $ sudo npm İndirmek

Bu komut, projedeki package.json dosyasını ayrıştırır ve gerekli tüm npm paketlerini kurar. Gerekli paketleri kurduktan sonra GraphQL uygulamasını başlatacağız.

[e-posta korumalı]: ~ $ düğüm uygulaması.js

Uygulamayı arka plan programı olarak çalıştırın

Uygulamayı yukarıda gösterildiği gibi standart metot ile çalıştırdığımızda ön planda çalışıyor ve terminal penceresini kapattığınızda uygulama duruyor. Komuta bir ve işareti (&) ekleyerek uygulamayı arka plan işlemi olarak çalıştırabiliriz.

[e-posta korumalı]: ~ $ düğüm uygulaması.js &

Bu yöntemin sorunu, uygulama kodumuzu değiştirdiğimizde uygulanan değişikliklerin otomatik olarak yansıtılmamasıdır. Değişiklikleri uygulamak için kodu her değiştirdiğimizde uygulamayı yeniden başlatmamız gerekecek. Uygulamayı arka planda çalıştırmak ve değişiklikleri otomatik olarak uygulamak için pm2 adlı bir npm paketi kullanacağız. pm2’yi sunucuya kurun.

[e-posta korumalı]: ~ $ sudo npm İndirmek-G akşam 2

GraphQL’yi pm2 ile başlatın.

[e-posta korumalı]: ~ $ pm2 app.js uygulamasını başlatın –İsim “grafikQL” –izlemek

“–name” bayrağı arka plan sürecini adlandıracak ve bu adla uygulamayı başlatıp durdurabileceğiz. “–watch” bayrağı, değişiklikleri hemen uygulamak için uygulama kodunu kontrol etmeye devam edecektir. Aşağıdaki bağlantıyı ziyaret ederek pm2 hakkında daha fazla bilgi edinebilirsiniz.

GraphQL API’yi tarayıcıdan sorgulama

GraphQL uygulamamızı, tarayıcıdan manuel olarak GraphQL sorguları gerçekleştirecek şekilde yapılandırabiliriz. Bunun için GraphQL API sunucusunu kuracağımız ayrı bir HTTP uç noktası oluşturmamız gerekiyor. Bu HTTP uç noktası, manuel sorgular gerçekleştirmek için kullanılacaktır. Aşağıda bir GraphQL API sunucu uç noktası oluşturmaya yönelik kod bulunmaktadır.

const ifadesi = gerektirir(“İfade etmek”);
Sabit miktar { İndirmek } = gerektirir(“hızlı grafik”);
Sabit miktar { Yapı şeması } = gerektirir(“Grafik”);
sürekli grafik(
İpucu Sorgu{
Mesaj: Dize
}
);
statik fonksiyon = {
İleti: () =>
{
dönüş “Graphql API Server kullanıyorsunuz”;
}
};
sabit sunucu = ekspres();
server.use(/Graphql’, GraphqlHTTP({
Şema: chartQLSchema,
kök değer: işlev,
Takvim: NS
}));
sunucu. dinlemek(3000);

Artık sunucu çalıştığına göre GraphQL API sunucusuna aşağıdaki yoldan erişebiliriz.

3000 / grafik

Eksiksiz GraphQL API’sinin CLI’si sıralandı

Önceki bölümde, Graphiql kullanarak tarayıcıdan GraphQL sorguları gerçekleştirdik. Şimdi ubuntu’nun komut satırı arayüzünü kullanarak GraphQL sorguları gerçekleştireceğiz. Komut satırından bir HTTP POST isteği yapmak için curl modülünü kullanacağız.

[e-posta korumalı]: ~ $ rulo -X İleti -h“içerik türü: uygulama/json”-NS‘{“sorgu”: “{mesaj}”}’ http://yerel ana bilgisayar:3000/Çizmek

GraphQL API’yi programlı olarak sorgulayın

GraphQL’de programlı olarak sorgulamak için node.js’deki ‘node-fetch’ modülünü kullanacağız. Terminalde node.js’yi açın.

[e-posta korumalı]: ~ $ Düğüm

Şimdi ‘node-fetch’ modülünü kullanarak sunucuya bir HTTP POST isteği yapın.

GraphQL, veritabanları için sorgu yanıt süresini azaltabilen güçlü bir sorgu dilidir. Veritabanından veri almak için yapılan standart API çağrıları, yanıtta çok fazla gereksiz veri içerir ve bu nedenle yanıt süresini artırır, bu da verimliliği azaltır. Veritabanlarını GraphQL ile sorgulamak yalnızca faydalı verileri döndürür, böylece yanıt süresini azaltır. Bu makalede, GraphQL uygulamamızı bir EC2 bulut sunucusunda konuşlandırdık.

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir