Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Dalam tutorial ini, kita akan belajar bagaimana menyiapkan aplikasi web Koa.js untuk pengeluaran, menggunakan Node.js. Kami juga akan menghubungkan domain sampel, dengan proksi terbalik, menggunakan Apache, dan belajar bagaimana menguruskannya dengan pengurus proses yang tepat. Tanpa basa-basi lagi, mari kita mulakan.
Node.js adalah rangka kerja JavaScript yang pantas dan lintas platform berdasarkan pada enjin V8 Chrome. Ia digunakan dalam kedua-dua aplikasi desktop dan pelayan dan terkenal dengan pengendalian gelung acara tunggal. Node.js menampilkan pendaftaran pakej yang disebut Node Package Manager (NPM), yang menghoskan lebih dari setengah juta pakej. Pakej NPM (atau modul) adalah tulang belakang utama Node.js, kerana ia adalah kod berasaskan komuniti yang boleh berguna dalam aplikasi Node.js anda. Dalam aplikasi Koa.js kami, Node.js adalah bahagian teras fungsinya.
Koa.js adalah rangka kerja web minimalis, dibina di atas platform Node.js. Dibuat oleh pasukan yang sama di belakang kerangka Express.js yang popular, tujuannya adalah untuk meminimumkan lagi kerangka Express.js yang sudah minimalis dengan mengecualikan alat tengah dari terasnya. Ciri utama Koa.js adalah kenyataan bahawa tidak ada panggilan balik. Koa.js dibina di atas penjana berasaskan ES6 dan ciri ES6, seperti Janji.
Apache adalah pelayan web sumber terbuka yang popular, digunakan sebagai titik permulaan yang sangat asas untuk pelayan web. Dalam tutorial ini, kami akan menggunakan Apache sebagai proksi terbalik, yang akan membolehkan kami memautkan permohonan kami ke domain sampel. Sekiranya anda tidak mempunyai domain, tutorial ini akan tetap berfungsi untuk anda, dengan satu-satunya perbezaan ialah laman web akan berjalan di IP VPS anda, dan bukannya domain.
Seperti mana-mana rangka kerja Node.js, anda perlu memasang Node.js pada VPS anda. Demi tutorial ini, saya akan menganggap bahawa anda sudah memasang Node.js pada sistem anda. Sekiranya tidak, anda boleh mengikuti arahan di sini .
Kita perlu membuat folder, yang akan mengandungi fail teras aplikasi kita.
mkdir site
Jangan ganti site
dengan nama lain yang anda mahukan untuk direktori. Seterusnya, kita perlu menginisialisasi fail pakej Node.js kita. Tukar ke direktori yang baru anda buat, dan jalankan npm init
, dan lengkapkan arahannya. Akhirnya, ia sepatutnya kelihatan seperti ini:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
Sekarang bahawa kami telah menyediakan direktori kami, kami dapat meneruskan pemasangan Koa.js. Dalam direktori kerja semasa /site
, ketik berikut.
npm install koa
Ini akan memuat turun modul Koa.js dari NPM dan memasangnya di direktori projek kami untuk kegunaan masa depan. Seterusnya, kami akan membuat fail permohonan sampel kami yang akan memegang kod apl kami. Untuk melakukannya, buat index.js
fail.
nano index.js
Setelah masuk ke dalam fail, buat contoh aplikasi.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
Simpan dan tutup fail. CTRL+ X.
Kami ingin memastikan bahawa aplikasi kami berjalan dengan baik. Untuk memulakannya, jalankan node index.js
, dan anda akan melihat Website is live
di konsol.
Setelah mengetahui laman web kami berfungsi, kami boleh terus memasang Apache dan pergantungannya.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Untuk menggunakan ciri proksi terbalik yang terdapat di Apache, kita perlu mengaktifkan modul yang diperlukan.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Beberapa modul ini mungkin telah diaktifkan, tetapi sentiasa baik untuk menyemak semula mereka.
Sekarang kita perlu mengedit fail konfigurasi lalai untuk Apache.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Di sini, kita perlu menambahkan blok untuk aplikasi kita.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
Simpan fail, CTRL+ X.
Anda mungkin menyedari bahawa kami menggunakan port 3000
sebagai port untuk ProxyPass
dan ProxyPassReverse
IP kami. Memandangkan ia adalah pelabuhan yang sama yang kami menjalankan aplikasi Koa.js kami, adalah penting bahawa kami memasukkan pelabuhan yang betul.
Setelah perubahan berlaku, kami perlu memulakan semula Apache dan melancarkan semula aplikasi Koa.js kami.
sudo systemctl restart apache2
Ini akan memastikan bahawa fail konfigurasi kami aktif dan siap berfungsi semasa kami memulakan aplikasi Koa.js kami. Sebaik sahaja Apache dimulakan semula, navigasi semula ke direktori tapak anda, dan mulakan aplikasi Koa.js seperti yang kami lakukan sebelum ini. Dari penyemak imbas web anda, arahkan ke http://yourdomain
, atau http://yourip:
, dan anda akan melihat "Hello World".
Sekarang bahawa kami telah membahas asas-asas untuk membuat aplikasi Koa.js sampel, kami menyedari bahawa dalam persekitaran pengeluaran, memulakan aplikasi seperti sekarang ini tidak praktikal. Seorang pengurus proses pastinya satu keperluan. Itulah di mana systemd dimainkan. Secara ringkas, systemd terdiri daripada perisian yang menyediakan blok bangunan untuk sistem Linux. Sama seperti "init", ia menyediakan sistem untuk menguruskan proses pengguna selepas permulaan sistem. Dalam kes aplikasi kami, sistem membolehkan kami untuk memulakan laman web kami secara automatik selepas sistem telah disambung semula, sekiranya terdapat peristiwa yang mengganggu sistem waktu uptime. Ia juga menyediakan satu set alat yang berguna untuk mengurus permohonan kami. Bahagian yang terbaik adalah fakta bahawa ia dibina dalam Ubuntu 16.04 LTS, jadi kami tidak perlu memasang sebarang perisian tambahan.
Semua yang kita perlukan untuk memulakan aplikasi kita akan terkandung dalam fail yang dipanggil service
. Ia mengandungi maklumat mengenai aplikasi kami, seperti namanya, direktori, persekitaran dan banyak lagi. Untuk membuat fail sistem kami, buka editor teks.
sudo nano /lib/systemd/system/site.service
Edit dan simpan fail seperti ini.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Ganti youruser
dengan nama pengguna pelayan anda. Berikut adalah petikan ringkas mengenai medan penting:
After
- Ini memberitahu sistem untuk menunggu sehingga antara muka rangkaian siap sebelum memulakan aplikasi kami.Environment
- Di sini kita dapat menentukan pemboleh ubah persekitaran untuk aplikasi kita. Pelabuhan Node.js kami adalah salah satu daripada mereka.Type
- Ini memberitahu systemd bahawa aplikasi kita baru boleh dimulakan, tanpa memalsukan hak pengguna dan seumpamanya.User
- Ini memberitahu systemd bahawa kami ingin menjalankan aplikasi di bawah akaun pengguna kami, yang disyorkan. Aplikasi berjalan sebagai pengguna root boleh menyebabkan banyak kompromi keselamatan.ExecStart
- Pada dasarnya perintah yang sistem akan berjalan untuk memulakan aplikasi kami, sama seperti cara kami memulakannya secara manual sebelum ini.Restart
- Beritahu systemd di mana syarat untuk memulakan semula aplikasi kami. Dalam kes ini, kami ingin laman web kami dimulakan semula dalam kes kesilapan.Kami kini bersedia untuk memulakan perkhidmatan sistem kami.
sudo systemctl daemon-reload
Ini perlu apabila setiap fail sistem sistem diubah agar sistem dapat mendaftarkan sebarang perubahan baru.
Kemudian, mulakan aplikasi anda.
sudo systemctl start site
Navigasi ke tapak dalam penyemak imbas anda sekali lagi, untuk mengesahkan bahawa semuanya berjalan.
stop
- Menghentikan permohonan sepenuhnya.restart
- Menghentikan aplikasi, dan memulakannya semula dalam proses baru.enable
- Memberitahu systemd untuk memulakan aplikasi setiap kali anda menghidupkan komputer.status
- Menunjukkan maklumat tentang aplikasi yang sedang berjalan, seperti uptime, state aplikasi dan banyak lagi.Untuk menggunakan salah satu fungsi ini, jalankan yang berikut.
systemctl <function> site
Kami berjaya menyiapkan aplikasi Koa.js dan belajar bagaimana membalikkan proksi, serta menguruskannya dengan systemd. Anda kini bersedia untuk mengembangkan aplikasi anda dan membina contoh ini. Sekiranya anda ingin mengetahui lebih lanjut mengenai Koa.js, dan banyak lagi perkara yang boleh anda lakukan, lawati laman web mereka , untuk mendapatkan maklumat yang lebih bermanfaat. Selain itu, jika anda ingin mengetahui lebih lanjut mengenai pengurus proses systemd, baca dokumentasinya di sini . Akhir sekali, jika anda ingin mengetahui lebih lanjut mengenai proksi terbalik Apache, sila bebas untuk menyemaknya di sini .
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