Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Hapi.js adalah rangka kerja Node.js kaya, mantap, dan berkuasa yang direka untuk membina aplikasi web dalam ekosistem Node.js. Reka bentuk mudah menjadikannya mudah untuk dimulakan. Hapi menggunakan banyak ciri ES6 JavaScript terkini pada terasnya, seperti janji ES6. Bagi anda yang telah menggunakan Express sebelum ini, Hapi membolehkan anda mencuba sesuatu yang baru, dan mengalami semua ciri JavaScript terkini.
Dalam tutorial ini, matlamat kami adalah untuk menyediakan laman web Hapi.js asas, yang dihoskan dari Vultr VPS kami, pada Ubuntu 16.04 LTS. Bagi mereka yang mempunyai domain untuk laman web mereka, kami akan menggunakan proksi terbalik untuk memautkan domain kami ke laman web kami. Akhirnya, kita akan belajar cara menguruskannya dengan pengurus proses. Sekarang bahawa kita telah mendapat jalan keluar, mari bermula.
Kita perlu memasang Node.js. Untuk berbuat demikian pada Ubuntu 16.04 LTS, ikuti arahan ini.
Kita perlu menambah repositori NodeSource APT, yang mengandungi pelepasan LTS terkini Node.js.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Kami memuat turun skrip yang akan kami gunakan untuk menambah repository ke senarai sumber kami, serta memasang Node.js dari repositori NodeSource.
Selain memasang Node.js itu sendiri, kami juga perlu memasang beberapa alat binaan yang diperlukan, yang akan membantu membina modul yang mungkin perlu kami pasang.
sudo apt-get install -y build-essential
Ini hanya memuat turun dan memasang alat binaan dari repositori.
Adalah praktik yang baik untuk menetapkan folder yang akan kita gunakan untuk aplikasi kita, yang akan berisi semua data aplikasi kita, seperti file konfigurasi dan skrip permulaan. Buat folder, namakan apa sahaja yang anda suka. Demi tutorial ini, saya akan menganggap anda menamakannya site
.
mkdir site
Setelah anda membuat folder, sekarang kita dapat mengubahnya. Pastikan anda berada dalam direktori yang baru anda buat, mulakan wizard pakej NPM.
npm init
Ia akan meminta anda memasukkan beberapa perkara yang berbeza, seperti nama aplikasi anda, fail permulaan, lesen dan sebagainya. Kebanyakan bidang anda boleh meninggalkan lalai, kecuali bidang yang lebih jelas, seperti nama permohonan anda. Pada akhirnya, ia akan kelihatan seperti ini:
{
"name": "site",
"version": "1.0.0",
"description": "Hapi.js site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "rich",
"license": "MIT"
}
Setelah anda berpuas hati dengan hasilnya, klik ENTERuntuk menyimpan fail.
Sekarang bahawa direktori anda telah berjaya dibina, kini kami boleh meneruskan pemasangan Hapi.js. Seperti yang dinyatakan sebelum ini, kami akan menggunakan NPM untuk memuat turun Hapi.js, serta kebergantungannya, untuk projek kami. Dalam direktori projek, jalankan yang berikut.
npm install hapi.js
Ini memuat turun Hapi.js dari NPM dan memasangnya di direktori projek kami. Dalam jangka masa yang sama, sebarang kebergantungan yang boleh diandalkan oleh Hapi.js juga dimuat turun untuk kemudahan kami.
Kini tiba masanya untuk menyediakan fail aplikasi Hapi.js asas kami. Ini akan mengandungi semua kod kami untuk permohonan itu. Lebih jauh di jalan raya, kami boleh mengembangkan kod aplikasi kami, dan menambahkan lebih banyak perkara kepadanya, seperti yang kita lihat patut.
Seterusnya, kami akan membuat fail permulaan kami. Rujuk semula ke main
bahagian package.json
fail anda , untuk menentukan dengan tepat bagaimana untuk menamakan fail tersebut. Oleh kerana saya menggunakan skema penamaan lalai, fail kami akan dipanggil index.js
.
nano index.js
Sebaik sahaja anda berada di dalam editor teks nano, buat kod aplikasi asas anda, seperti itu.
const Hapi=require('hapi');
const server=Hapi.server({
host:'localhost',
port: 3000
});
server.route({
method:'GET',
path:'/',
handler:((request,h)) => {
return 'Sample Hapi.js Application';
}
});
async function start() {
try {
await server.start();
} catch (err) {
console.log(err);
process.exit(1);
}
console.log(`Our server is running! ${server.info.uri}`);
};
start();
Pertama, kami mengimport modul Hapi. Kemudian, kami memulakan pembangun pelayan kami, yang mengandungi hos yang ingin kami jalankan pelayannya, dan juga portnya, 3000
untuk tutorial ini. Seterusnya, kami menyediakan penghala asas, yang menunjukkan bahawa setiap kali seseorang mengunjungi laman web ini, mereka akan disambut dengan pesan sederhana. Untuk mengatasinya, kami mempunyai fungsi async, untuk memulakan pelayan kami, yang akan log masuk ke konsol yang sedang dijalankan oleh pelayan kami. Setelah selesai, simpan dan tutup fail ( CTRL+ X)
Setelah fail utama kami disiapkan, kami sudah bersedia untuk memulakan aplikasi kami.
node index.js
Sekiranya anda melihat " Our server is running!
" di konsol, pelayan berjaya dimulakan.
Oleh kerana Nginx boleh didapati di repositori Ubuntu lalai, pemasangannya mudah. Hanya kemas kini senarai pakej anda, dan pasangnya.
sudo apt update
sudo apt install nginx -y
Selepas menyegarkan senarai pakej, Nginx dan dependensinya akan dipasang.
Untuk membolehkan Nginx membalikkan proksi permohonan kami, kami perlu membuat fail konfigurasi. Fail konfigurasi ini akan memegang maklumat mengenai aplikasi kami, yang akan digunakan oleh Nginx untuk proksi terbalik.
Padam konfigurasi lalai yang dibuat oleh Nginx, kerana kami akan menggantikannya dengan kami kemudian nanti.
sudo rm /etc/nginx/sites-enabled/default
Buat fail baru dalam sites-available
folder. Adapun penamaan, kita boleh tetap dengan mudah site
, untuk kesederhanaan.
sudo nano /etc/nginx/sites-available/site
Dalam fail, tampal yang berikut, dan simpan.
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:3000/;
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;
}
}
Dalam fail ini, kami menyuruh Nginx mendengar di port 80
. Kami juga menetapkan laluan proksi ke localhost
alamat, dan port 3000
, yang merupakan port yang sama dengan aplikasi Hapi kami.
Sekarang anda boleh menavigasi kembali ke direktori aplikasi anda, dan memulakan laman web ini. Setelah laman web dimulakan, arahkan ke http://yourdomain.com
atau http://yourip
, dan anda akan melihat teksnya " Hello World
".
PM2 boleh didapati di repositori NPM, dan anda boleh memasangnya secara global untuk diakses dari mana-mana sahaja, seperti itu.
sudo npm install pm2 -g
The -g
bendera pada akhir menunjukkan bahawa kita mahu memasang modul untuk folder modul global, yang akan membolehkan kita untuk menggunakan ia di luar daripada direktori projek kami. Ini digunakan agar projek kita berkelakuan seperti aplikasi sistem biasa.
Setelah memasang PM2, navigasi kembali ke direktori projek anda. Sintaks untuk memulakan aplikasi kita akan sedikit berbeza sekarang. Ini adalah bagaimana kita akan melakukannya dengan PM2.
pm2 start index.js --name site
Kami menggunakan fungsi permulaan PM2, yang pada asasnya mencipta profil untuk aplikasi kami, di bawah nama site
. Setelah menjalankan perintah itu, laman web anda akan bermula, tetapi anda akan melihat bahawa log tidak akan dipaparkan. Ini kerana cara kita melihat log sekarang berbeza.
pm2 logs site
Anda juga boleh menentukan berapa baris log yang anda mahu lihat, dengan --lines
hujahnya.
Anda telah berjaya menyediakan pelayan web Hapi.js, membalikkannya dengan Nginx, dan belajar bagaimana menguruskannya dengan lebih baik dengan PM2. Dengan pengetahuan ini, anda dapat mengembangkan lagi tutorial ini dan membuat aplikasi Hapi.js yang sangat maju. Untuk mengetahui lebih lanjut mengenai kemungkinan Hapi, kunjungi dokumentasi rasmi mereka . Sekiranya anda ingin mengetahui lebih lanjut mengenai kemungkinan PM2, rujuk panduan permulaan cepat mereka .
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