Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Dalam tutorial ini, Anda akan belajar cara mengatur API RESTful lengkap, yang akan melayani permintaan HTTP menggunakan Node.js dan Express sambil membalikkan proxy dengan NGINX, di Ubuntu 16,04 LTS. Kami akan menggunakan aplikasi yang disebut Postman, alat pengembangan API yang sangat terkenal, untuk menguji API kami dan memastikannya berfungsi penuh dan berfungsi dengan baik. Node.js adalah kerangka kerja JavaScript lintas-platform yang cepat berdasarkan mesin V8 Chrome. Ini digunakan di kedua aplikasi desktop dan server dan terkenal dengan penanganan loop acara single-threaded. Kami akan menggunakan Node.js sebagai backend untuk RESTful API kami, dibundel dengan Express.js, kerangka kerja aplikasi web kami dibuat untuk Node.js. Express.js dirilis sebagai perangkat lunak bebas dan terbuka. Express adalah sisi server, ditulis dalam JavaScript, dan dirancang untuk membuat API, yang membuatnya sempurna untuk proyek kami. Di sisi lain, Postman adalah klien HTTP yang sangat kuat, dengan pertimbangan pengembangan API. Ini fitur semua alat yang mungkin Anda inginkan untuk pengembangan API.
Pertama, Anda ingin menuju ke situs web Postman , dan mengunduh dan menginstal Postman untuk PC utama Anda (Bukan server Anda). Semua instruksi pemasangan akan ada di situs web mereka.
Untuk memulai, pertama-tama kita perlu menginstal Node.js sehingga kita dapat mulai mengembangkan API kita. Kami akan mengunduh dan menginstal Node.js dari situs web resmi.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Selain itu, Anda juga ingin mengambil alat bantu yang diperlukan, yang akan sangat membantu dalam menyusun modul.
sudo apt-get install build-essential
Untuk tutorial ini, kita akan menggunakan Node.js versi LTS, yaitu versi 8.9.3.
Kita perlu menginisialisasi proyek Node.js baru, yang akan berisi aplikasi. Untuk melakukannya, buat direktori baru.
mkdir expressapi
Ubah ke direktori baru. Setelah masuk, jalankan npm init
dan lengkapi semua permintaan yang diminta. Catat "titik masuk" aplikasi Anda: Anda akan membuat file ini nanti. Setelah selesai, Anda akan melihat package.json
file di direktori Anda saat ini. Ini bertindak sebagai deskripsi dari proyek kami, dan daftar semua dependensi yang diperlukan untuk berfungsi.
Sekarang kita akan mengkonfigurasi Express.js dan dependensinya.
npm install express
Proses instalasi akan dimulai. Diperlukan beberapa menit hingga semuanya selesai diunduh.
Selanjutnya, kita akan membuat file awal utama untuk API kita. Di sinilah Anda akan menggunakan "titik masuk" yang Anda lihat di package.json
file. Demi tutorial ini, saya akan menggunakan skema penamaan default index.js
,.
touch index.js
Kemudian, buka di editor teks nano.
nano index.js
Di file utama kami, kami ingin memanggil semua paket utama kami terlebih dahulu dan mendaftarkan rute kami.
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
const router = express.Router();
router.get('/', function(req, res) {
res.json({ message: 'API is Online!' });
});
app.use('/api', router);
app.listen(port);
console.log('Listening on port ' + port);
Pada dasarnya yang kami lakukan di sini adalah menginisialisasi aplikasi kami, dan menyiapkan router dasar untuk API kami. Perhatikan bahwa kami mengatur port aplikasi kami 8080
. Kami akan membutuhkan nomor ini ketika kami mengkonfigurasi API tenang kami. Sekarang kami siap untuk melanjutkan dan menguji API kami.
Di direktori proyek, jalankan yang berikut ini.
node <filename>.js
Ini akan memulai API, di mana <filename>
file mulai yang Anda tentukan dalam package.json
file. Kemudian, buka tukang pos di PC / Mac Anda, dan klik tombol " New
" di sudut kanan atas, lalu klik " Request
". Ketika di sana, Anda akan melihat bilah yang bertuliskan " GET
" di sebelahnya. Di sini kita akan memasukkan URL permintaan kita. Masukkan saja yang berikut di bagian URL permintaan dan klik " Send
".
`http://your-server-ip:3000/api`
Anda akan melihat " 'API is online'
".
Untuk menangani rute, kita akan menggunakan router Express. Jika Anda tidak tahu apa router itu, pada dasarnya bagaimana endpoint aplikasi merespons permintaan klien. Berikut adalah rute yang akan kami siapkan sebagai contoh:
/api/numbers
- Menunjukkan semua angka dari 1-10.
/api/letters
- Menunjukkan semua surat dari AZ.
Sekarang kita akan mengatur struktur middleware rute pertama kita, seperti itu.
router.use(function(req, res, next) {
console.log('We've got something.');
next() //calls next middleware in the application.
});
router.route('/numbers/:number').get((req, res) => {
res.json({result: req.params.number + 1})
});
Dalam contoh ini, kami membuat situasi di mana pengguna dapat meminta jumlah angka +1 dengan memberikan bentuk kata itu, menggunakan metode GET. Kami menggunakan router.route()
fungsi untuk menunjukkan nomor yang ingin kami kirim kembali sebagai hasilnya. Parameter dinamai dengan " :
" di depannya. Kami mengakses parameter ini melalui req.params
.
Ini sebuah contoh dengan huruf.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
Kami menggunakan metode yang sama seperti di atas, tetapi kami mengirim kembali surat itu sebagai huruf besar.
NGINX adalah perangkat lunak sumber terbuka terkenal yang digunakan untuk melayani web, membalikkan proxy, streaming, dan banyak lagi. Kami akan menggunakan NGINX untuk membalikkan proxy API kami, untuk memungkinkan kami menjalankannya di port 80
, karena Node.js tidak mengizinkan koneksi pada port kurang dari 1024 tanpa akses root. Ini bisa berguna ketika menghubungkan domain Anda ke server Anda.
Untuk mulai menginstal NGINX Anda harus menjalankan yang berikut di terminal Anda, dan menunggu instalasi selesai.
sudo apt-get install nginx
Selanjutnya, kami ingin membuat file situs kami yang akan digunakan NGINX untuk membalikkan proxy aplikasi kami.
sudo nano /etc/nginx/sites-available-api.js
Isi file dengan yang berikut ini, lalu CTRL+ Ountuk menyimpannya.
server {
listen 80;
location / {
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host
$http_host;
proxy_set_header
X-NginX-Proxy true; proxy_pass
http://127.0.0.1:8080/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
Menggunakan port yang sama dengan yang kami jalankan pada aplikasi kami sebelumnya, kami memberitahu Nginx untuk mengalihkan semua permintaan dari alamat IP 80
kami ke port ke API kami yang berjalan di port 8080
.
Selanjutnya, aktifkan proxy terbalik dengan menghubungkan file kami yang baru dibuat ke sites-available
folder:
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Ini akan memastikan bahwa NGINX akan membalikkan proksi API kami.
Setelah kami menyelesaikan konfigurasi NGINX kami, kami akan memulai NGINX, kemudian memulai API kami. Pertama, nyalakan kembali NGINX.
sudo systemctl restart nginx
Kemudian, ubah kembali ke direktori API Anda, dan mulai saja.
node <filename>.js
Aplikasi akan berjalan, pada port 80
. Cukup jalankan tes dari atas dengan Postman, untuk memastikan semuanya berfungsi dengan baik.
Dalam lingkungan produksi, Anda ingin memastikan bahwa Anda memiliki manajer proses untuk aplikasi Node Anda, untuk memastikan bahwa mereka tetap berjalan selamanya di latar belakang. Dalam tutorial ini, kita akan menggunakan manajer proses yang disebut PM2 (Process Manager 2), yang merupakan manajer proses untuk aplikasi Node.js yang akan membuatnya tetap hidup selamanya dengan downtime minimal. PM2 hadir dengan banyak alat manajemen yang bermanfaat, seperti berhenti, memuat ulang, menjeda, dan lainnya. Untuk menginstal PM2, ketikkan yang berikut ini dan tunggu sampai instal.
sudo npm install pm2 -g
Setelah diinstal, yang harus Anda lakukan adalah memastikan Anda berada di direktori proyek, ketikkan yang berikut, dan aplikasi akan dimulai.
pm2 start <filename>.js
Seperti disebutkan sebelumnya, PM2 memiliki beberapa alat bermanfaat yang dapat Anda gunakan untuk mengelola aplikasi Anda dengan lebih baik.
pm2 stop
- Seperti namanya, ini memungkinkan Anda untuk menghentikan aplikasi yang sedang berjalan, dan mematikan prosesnya. Jika aplikasi Anda menghasilkan hasil yang tidak terduga, menghentikannya akan berguna.
pm2 list
- Fungsi daftar memungkinkan Anda untuk melihat semua aplikasi yang sedang berjalan melalui PM2, dipetakan oleh namanya. Jika Anda perlu memeriksa waktu aktif aplikasi Anda dengan cepat, Anda harus menggunakan alat ini.
pm2 restart
- Jika aplikasi Anda macet karena suatu alasan, dan Anda ingin memuat ulang, pm2 restart lakukan saja. Ini akan mematikan proses aplikasi, dan memulainya lagi, di bawah proses yang berbeda.
pm2 monit
- Alat monitor bawaan PM2 memungkinkan Anda untuk melihat grafik rincian spesifik aplikasi Anda, seperti penggunaan CPU / RAM, dalam grafik gaya ncurses yang mudah digunakan. Ini berguna jika Anda ingin gambar visual dari beban aplikasi Anda.
Kami sekarang telah menyelesaikan tugas kami untuk membuat RESTful API, memanfaatkan Node.js, Express, dan membalikkan proxy dengan NGINX. Jangan ragu untuk memperluas tutorial ini. Anda dapat melakukan banyak hal hebat dengan API baru Anda, seperti menambahkan metode otentikasi, basis data, penanganan rute dan kesalahan yang lebih baik, dan masih banyak lagi. Jika Anda memiliki domain, dengan catatan "A" sudah disiapkan untuk alamat IP Anda, maka Anda akan dapat mengakses API Anda dari domain Anda. Jika Anda ingin mempelajari lebih lanjut tentang Express.js, kunjungi situs web mereka di http://expressjs.com . Untuk mempelajari lebih lanjut tentang NGINX dan membalikkan proxy, kunjungi http://nginx.com . Untuk membaca lebih lanjut tentang PM2, kunjungi halaman mereka di http://pm2.keymetrics.io .
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut