Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Dalam tutorial ini, anda akan belajar bagaimana menyiapkan RESTful API lengkap, yang akan melayani permintaan HTTP menggunakan Node.js dan Express sambil membalikkannya dengan NGINX, pada Ubuntu 16.04 LTS. Kami akan menggunakan aplikasi yang disebut Postman, alat pembangunan API yang sangat terkenal, untuk menguji API kami dan pastikan ia berfungsi sepenuhnya dan berfungsi dengan baik. Node.js adalah rangka kerja JavaScript yang pantas dan lintas platform berdasarkan pada enjin V8 Chrome. Ia digunakan dalam aplikasi desktop dan pelayan dan terkenal dengan pengendalian gelung utas tunggal. Kami akan menggunakan Node.js sebagai backend untuk API RESTful kami, digabungkan dengan Express.js, rangka kerja aplikasi web kami yang dibina untuk Node.js. Express.js dikeluarkan sebagai perisian percuma dan terbuka. Express adalah sisi pelayan, ditulis dalam JavaScript, dan direka untuk membina API, yang menjadikannya sempurna untuk projek kami. Sebaliknya, Postman adalah pelanggan HTTP yang sangat berkuasa, dengan perkembangan API dalam fikiran. Ia mempunyai semua alat yang mungkin anda inginkan untuk pembangunan API.
Pertama, anda ingin pergi ke laman web Postman , dan memuat turun dan memasang Postman untuk PC utama anda (Bukan pelayan anda). Semua arahan pemasangan akan berada di laman web mereka.
Untuk memulakan, pertama-tama kita perlu memasang Node.js supaya kita dapat mula mengembangkan API kita. Kami akan memuat turun dan memasang Node.js dari laman web rasmi.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Di samping itu, anda juga ingin mengambil alat binaan yang diperlukan, yang akan membantu dalam menyusun modul.
sudo apt-get install build-essential
Untuk tutorial ini, kami akan menggunakan versi LTS dari Node.js, iaitu versi 8.9.3.
Kita perlu memulakan projek Node.js baru, yang akan mengandungi aplikasi. Untuk melakukan itu, buat direktori baru.
mkdir expressapi
Tukar ke direktori baru. Sekali di dalam, jalankan npm init
dan lengkapkan semua arahan yang diperlukan. Perhatikan "titik masuk" aplikasi anda: anda akan membuat fail ini kemudian. Sebaik sahaja anda selesai, anda akan melihat package.json
fail dalam direktori semasa anda. Ia bertindak sebagai penerangan projek kami, dan menyenaraikan semua kebergantungan yang diperlukan untuk berfungsi.
Sekarang kita akan mengkonfigurasi Express.js dan ia adalah dependencies.
npm install express
Proses pemasangan akan bermula. Proses memuat turun akan mengambil masa beberapa minit.
Seterusnya, kami akan membuat fail permulaan utama untuk API kami. Di sinilah anda akan menggunakan "titik masuk" yang anda lihat dalam package.json
fail. Demi tutorial ini, saya akan menggunakan lalai menamakan skim, index.js
.
touch index.js
Kemudian, buka di penyunting teks nano.
nano index.js
Dalam fail utama kami, kami ingin memanggil semua pakej utama kami dan mendaftar laluan 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 asasnya, apa yang kita lakukan di sini ialah memulakan aplikasi kami, dan menubuhkan router asas untuk API kami. Perhatikan bahawa kami menetapkan port aplikasi kami ke 8080
. Kami akan memerlukan nombor ini apabila kami mengkonfigurasi API RESTful kami. Sekarang kita sudah bersedia untuk meneruskan dan menguji API kami.
Dalam direktori projek, jalankan yang berikut.
node <filename>.js
Ini akan memulakan API, di mana <filename>
fail permulaan yang anda nyatakan dalam package.json
fail. Kemudian, buka Postman di PC / Mac anda, dan klik butang " New
" di sudut kanan atas, kemudian klik " Request
". Semasa di sana, anda akan melihat bar yang bertuliskan " GET
" di sebelahnya. Di sini kami akan memasukkan URL permintaan kami. Cukup masukkan yang berikut di bahagian URL permintaan dan klik " Send
".
`http://your-server-ip:3000/api`
Anda akan melihat " 'API is online'
".
Untuk menangani laluan, kami akan menggunakan penghala Express. Sekiranya anda tidak tahu apa itu penghala, pada dasarnya bagaimana titik akhir aplikasi bertindak balas terhadap permintaan pelanggan. Berikut adalah laluan yang akan kami atur sebagai contoh:
/api/numbers
- Menunjukkan semua nombor dari 1-10.
/api/letters
- Menunjukkan semua huruf dari AZ.
Kini kami akan menubuhkan struktur middleware laluan pertama kami, 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 menyediakan satu keadaan di mana pengguna boleh meminta jumlah nombor + 1 dengan menyediakan borang perkataan dengan menggunakan kaedah GET. Kami menggunakan router.route()
fungsi ini untuk menunjukkan bilangan nombor yang ingin kami hantar semula. Parameter dinamakan dengan " :
" di hadapannya. Kami mengakses parameter ini melalui req.params
.
Inilah contoh dengan huruf.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
Kami menggunakan kaedah yang sama seperti di atas, tetapi kami menghantar semula huruf itu sebagai huruf besar.
NGINX adalah perisian sumber terbuka yang terkenal yang digunakan untuk perkhidmatan web, proksi terbalik, streaming dan banyak lagi. Kami akan menggunakan NGINX untuk membalikkan proksi API kami, untuk membolehkan kami menjalankannya pada port 80
, kerana Node.js tidak membenarkan sambungan pada port kurang dari 1024 tanpa akses root. Perkara ini sangat berguna semasa menghubungkan domain anda ke pelayan anda.
Untuk mula memasang NGINX, anda perlu menjalankan yang berikut dalam terminal anda, dan tunggu pemasangan selesai.
sudo apt-get install nginx
Seterusnya, kami akan membuat fail laman web kami yang NGINX akan digunakan untuk membalikkan proksi aplikasi kami.
sudo nano /etc/nginx/sites-available-api.js
Tandakan fail dengan yang berikut, kemudian 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;
}
}
Dengan menggunakan port yang sama, kami menjalankan aplikasi kami pada awal, kami memberitahu Nginx untuk mengalihkan semua permintaan dari alamat IP kami pada port 80
ke API kami yang menjalankan pada port 8080
.
Seterusnya, aktifkan proksi terbalik dengan menyandarkan fail kami yang baru dibuat ke sites-available
folder:
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Ini akan memastikan bahawa NGINX akan membalikkan proksi API kami.
Setelah selesai konfigurasi NGINX kami, kami akan mulai NGINX, kemudian mulakan API kami. Pertama, mulakan semula NGINX.
sudo systemctl restart nginx
Kemudian, tukar kembali ke direktori API anda, dan mulakannya.
node <filename>.js
Aplikasi akan berjalan, di port 80
. Hanya jalankan ujian dari atas dengan Postman, untuk memastikan semuanya berfungsi dengan baik.
Dalam persekitaran pengeluaran, anda ingin memastikan bahawa anda mempunyai pengurus proses untuk aplikasi Node anda, untuk memastikan bahawa mereka tetap berjalan selamanya di latar belakang. Dalam tutorial ini, kita akan menggunakan pengurus proses yang disebut PM2 (Process Manager 2), yang merupakan pengurus proses untuk aplikasi Node.js yang akan menjadikannya hidup selamanya dengan waktu henti minimum. PM2 dilengkapi dengan banyak alat pengurusan yang berguna, seperti berhenti, memuat semula, berhenti sebentar dan banyak lagi. Untuk memasang PM2, taipkan yang berikut dan tunggu untuk dipasang.
sudo npm install pm2 -g
Setelah dipasang, yang harus anda lakukan adalah memastikan anda berada di direktori projek, ketik yang berikut, dan aplikasi akan dimulakan.
pm2 start <filename>.js
Seperti yang dinyatakan sebelum ini, PM2 mempunyai beberapa alat berguna yang boleh anda gunakan untuk mengurus permohonan anda dengan lebih baik.
pm2 stop
- Seperti namanya, ini membolehkan anda menghentikan aplikasi yang sedang berjalan dan membunuh prosesnya. Sekiranya aplikasi anda menghasilkan hasil yang tidak dijangka, maka menghentikannya akan sangat berguna.
pm2 list
- Fungsi senarai membolehkan anda melihat semua aplikasi yang sedang berjalan melalui PM2, dipetakan oleh nama mereka. Sekiranya anda perlu memeriksa waktu operasi aplikasi dengan cepat, anda harus menggunakan alat ini.
pm2 restart
- Sekiranya aplikasi anda membeku atas sebab tertentu, dan anda ingin memuat semulanya, restart pm2 tidak semestinya. Ia akan membunuh proses permohonan, dan memulakannya sekali lagi, di bawah proses yang berbeza.
pm2 monit
- Alat monitor terbina dalam PM2 membolehkan anda melihat grafik butiran spesifik aplikasi anda, seperti penggunaan CPU / RAM, dalam grafik gaya ncurses yang mesra pengguna. Ini berguna sekiranya anda mahukan gambar visual memuatkan aplikasi anda.
Kami kini telah menyelesaikan tugas kami untuk membuat RESTful API, menggunakan Node.js, Express, dan membalikkannya dengan NGINX. Jangan ragu untuk membaca tutorial ini. Anda boleh melakukan banyak hal hebat dengan API baru anda, seperti menambah kaedah pengesahan, pangkalan data, pengendalian laluan yang lebih baik dan pengendalian ralat, dan banyak lagi. Sekiranya anda memiliki domain, dengan catatan "A" sudah disiapkan ke alamat IP anda, maka Anda dapat mengakses API dari domain anda. Sekiranya anda ingin mengetahui lebih lanjut mengenai Express.js, lawati laman web mereka di http://expressjs.com . Untuk mengetahui lebih lanjut mengenai NGINX dan pembalikan proksi, lawati http://nginx.com . Untuk membaca lebih lanjut mengenai PM2, lawati halaman mereka di http://pm2.keymetrics.io .
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut