Menginstal Paket yang Diperlukan
Langkah pertama untuk menerapkan aplikasi graphQL Anda adalah menyiapkan server Anda dengan menginstal paket yang diperlukan. Masuk ke server menggunakan SSH.
[dilindungi email]:~$ ssh ubuntu@IPAdress -i KeyPair.pemCATATAN: Pastikan grup keamanan instance dikonfigurasi untuk mengizinkan koneksi dari port 22 dan file kunci pribadi memiliki 400 izin.
Perbarui repositori Ubuntu.
[dilindungi email]:~$ sudo apt-get update -ySekarang instal simpul.js dan npm di server ubuntu Anda.
[dilindungi email]:~$ sudo apt-get install nodejs -y[dilindungi email]:~$ sudo apt-get install npm -y
Verifikasi instalasi dengan memeriksa versi node.js dan npm.
[dilindungi email]:~$ node -v[dilindungi email]:~$ npm -v
Pindahkan Aplikasi GraphQL ke EC2 Server
Instans EC2 siap untuk menerapkan aplikasi graphQL di node.js. Sekarang kita akan memindahkan kode kita ke instance EC2. Dua cara umum untuk menyalin kode ke server tercantum di bawah ini dan akan dibahas di sini.
- Salin kode menggunakan perintah scp
- Klon kode aplikasi dari Github, Gitlab, atau Bitbucket
Salin Aplikasi Menggunakan Perintah scp
Untuk menyalin aplikasi Anda ke server EC2 menggunakan perintah scp, Pertama-tama, hapus direktori 'node_modules' dari aplikasi graphQL Anda. Direktori ini memiliki semua paket npm yang diperlukan untuk menjalankan aplikasi. Kami akan menginstal paket-paket ini nanti sebelum memulai aplikasi graphQL. Sekarang kompres direktori proyek menjadi file zip. Setelah membuat file zip, kami akan memindahkan file zip proyek ke server. Linux dan windows memiliki metode berbeda untuk membuat file zip.
jendela
Di windows, klik kanan pada direktori root aplikasi dan buka opsi 'kirim ke'. Ini akan membuka submenu. Klik pada 'Folder terkompresi (zip)' untuk membuat file zip dari aplikasi graphQL.
Linux atau Mac
Di Linux atau Mac OS, kami akan menggunakan perintah 'zip' untuk membuat file zip proyek.
[dilindungi email]:~$ zip -r graphQL.zip grafikQLPerintah di atas akan menghasilkan graphQL.zip dari direktori graphQL.
Unggah Aplikasi ke Server
Sekarang kami memiliki file zip dari aplikasi kami, dan kami dapat mengunggah file zip ke server dengan menggunakan perintah scp.
[dilindungi email]:~$ scp -i KeyPair.pem grafikQL.zip ubuntu@IPAddress:~/Perintah di atas akan memindahkan file zip proyek ke direktori home server jarak jauh melalui koneksi ssh. Sekarang di server jauh, unzip file zip proyek project.
[dilindungi email]:~$ unzip graphQL.zipAplikasi Klon Dari Github, Bitbucket atau Gitlab
Metode kedua untuk menyalin kode aplikasi ke server menggunakan git. Instal git dari baris perintah di server EC2.
[dilindungi email]:~$ Sudo apt install gitPeriksa versi git untuk memverifikasi instalasi.
[dilindungi email]:~$ git --version
Jika tidak memberikan versi git, maka git tidak diinstal. Sekarang kloning aplikasi dari github, gitlab, atau bitbucket. Di sini kita akan mengkloning kode aplikasi dari github.
[dilindungi email]:~$ git clone ttps://github.com/contentful/the-example-app.nodejsMemulai Aplikasi GraphQL
Sekarang kami memiliki aplikasi graphQL kami di server jauh. Buka direktori root aplikasi graphQL dan instal paket npm yang diperlukan untuk menjalankan aplikasi graphQL.
[dilindungi email]:~$ cd graphQL[dilindungi email]:~$ sudo npm install
Perintah ini akan menganalisis paket.json dalam proyek dan instal semua paket npm yang diperlukan. Setelah menginstal paket yang diperlukan, sekarang kita akan memulai aplikasi graphQL.
[dilindungi email]:~$ aplikasi simpul.jsMenjalankan Aplikasi sebagai Daemon
Ketika kami menjalankan aplikasi menggunakan metode standar seperti dijelaskan di atas, itu berjalan di latar depan, dan aplikasi berhenti ketika Anda menutup jendela terminal. Kita dapat menjalankan aplikasi sebagai proses latar belakang dengan menambahkan tanda ampersand (&) ke perintah.
[dilindungi email]:~$ aplikasi simpul.js &Masalah dengan metode ini adalah ketika kita memodifikasi kode aplikasi kita, perubahan yang diterapkan tidak akan tercermin secara otomatis. Kami harus memulai ulang aplikasi setiap kali kami memodifikasi kode untuk menerapkan perubahan. Untuk menjalankan aplikasi di latar belakang dan menerapkan perubahan secara otomatis, kami akan menggunakan paket npm bernama pm2. Instal pm2 di server.
[dilindungi email]:~$ sudo npm install -g pm2Mulai aplikasi graphQL menggunakan pm2.
[dilindungi email]:~$ pm2 mulai aplikasi.js --nama "graphQL" --watchBendera '-name' akan memberi nama proses latar belakang, dan kita dapat memulai dan menghentikan aplikasi menggunakan nama tersebut. Bendera '-watch' akan terus memeriksa kode aplikasi untuk segera menerapkan perubahan. Anda dapat mempelajari lebih lanjut tentang pm2 dengan mengunjungi tautan berikut
https://pm2.metrik kunci.aku/
Meminta GraphQL API dari Browser
Kami dapat mengonfigurasi aplikasi graphQL kami untuk membuat kueri graphQL dari browser secara manual. Untuk ini, kita harus membuat titik akhir HTTP terpisah di mana kita akan memasang server API graphQL. Dan titik akhir HTTP ini akan digunakan untuk membuat kueri manual. Berikut adalah kode untuk membuat titik akhir server api graphQLL.
const ekspres = membutuhkan('ekspres');const graphqlHTTP = membutuhkan('express-graphql');
const buildSchema = membutuhkan('graphql');
const graphQLSchema = buildSchema('
ketik Kueri
pesan: String
'
);
fungsi konstan =
pesan: () =>
kembali 'Anda menggunakan server api graphql';
;
const server = ekspres();
server.gunakan('/graphql', graphqlHTTP(
skema: graphQLSchema,
rootValue: func,
graphiql: benar
));
server.mendengarkan(3000);
Sekarang, setelah menjalankan server, kita dapat mengakses server api graphQL pada rute berikut:.
http://localhost:3000/graphql
Membuat Kueri GraphQL API Menggunakan CLI
Di bagian sebelumnya, kami membuat kueri graphQL dari browser menggunakan graphiql. Sekarang kita akan membuat kueri graphQL menggunakan antarmuka baris perintah di ubuntu. Dari baris perintah, untuk membuat permintaan HTTP POST, kami akan menggunakan modul curl.
[dilindungi email]:~$ curl -X POST -H "Content-Type: application/json" -d '"query": " message "' http://localhost:3000/graphql
Meminta GraphQL API Secara Terprogram
Untuk membuat query graphQL secara terprogram, kita akan menggunakan modul 'node-fetch' di node.js. Buka simpul.js di terminal.
[dilindungi email]:~$ nodeSekarang buat permintaan HTTP POST ke server menggunakan modul 'pengambilan simpul'.
GraphQL adalah bahasa kueri yang efisien, dan dapat mengurangi waktu respons kueri yang dibuat ke database. Panggilan api standar untuk mengambil data dari database melibatkan banyak data yang tidak berguna dalam respons, dan karenanya waktu respons meningkat, yang menurunkan efisiensi. Kueri yang dibuat ke database menggunakan GraphQL hanya mengembalikan data yang berguna dan karenanya mengurangi waktu respons. Dalam artikel ini, kami telah menerapkan aplikasi graphQL kami pada instance EC2.