Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Dalam tutorial ini, kita akan belajar cara mengatur aplikasi web Koa.js untuk produksi, memanfaatkan Node.js. Kami juga akan menautkan domain sampel, dengan proxy terbalik, menggunakan Apache, dan mempelajari cara mengelolanya dengan manajer proses yang tepat. Tanpa basa-basi lagi, mari kita mulai.
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. Node.js memiliki fitur registry paket yang disebut Node Package Manager (NPM), yang menampung lebih dari setengah juta paket. Paket NPM (atau modul) adalah tulang punggung inti dari Node.js, karena mereka adalah kode berbasis komunitas yang dapat berguna dalam aplikasi Node.js Anda. Dalam aplikasi Koa.js kami, Node.js adalah bagian inti dari fungsinya.
Koa.js adalah kerangka kerja web minimalis, dibangun di atas platform Node.js. Dibuat oleh tim yang sama di belakang kerangka Express.js yang populer, tujuannya adalah untuk meminimalkan kerangka Express.js yang sudah minimalis dengan mengecualikan middleware dari intinya. Fitur utama dari Koa.js adalah kenyataan bahwa tidak ada panggilan balik. Koa.js dibangun di atas generator berbasis ES6 dan fitur ES6, seperti Janji.
Apache adalah server web open-source yang populer, digunakan sebagai titik awal yang sangat mendasar untuk server web. Dalam tutorial ini, kita akan menggunakan Apache sebagai proxy terbalik, yang akan memungkinkan kita untuk menautkan aplikasi kita ke domain sampel. Jika Anda tidak memiliki domain, tutorial ini akan tetap bekerja untuk Anda, dengan satu-satunya perbedaan adalah bahwa situs web akan berjalan pada VPS IP Anda, bukan domain.
Seperti halnya kerangka kerja Node.js, Anda harus menginstal Node.js di VPS Anda. Demi tutorial ini, saya akan berasumsi bahwa Anda sudah menginstal Node.js di sistem Anda. Jika tidak, Anda cukup mengikuti petunjuk di sini .
Kita perlu membuat folder, yang akan berisi file inti aplikasi kita.
mkdir site
Jangan ragu untuk mengganti site
dengan nama lain yang Anda inginkan untuk direktori. Selanjutnya, kita perlu menginisialisasi file paket Node.js kita. Ubah ke direktori yang baru saja Anda buat, dan jalankan npm init
, dan lengkapi permintaannya. Pada akhirnya, akan terlihat 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 setelah kita mengatur direktori kita, kita dapat melanjutkan untuk menginstal Koa.js. Di direktori kerja saat ini /site
, ketik berikut ini.
npm install koa
Ini akan mengunduh modul Koa.js dari NPM dan memasangnya di direktori proyek kami untuk penggunaan di masa mendatang. Selanjutnya, kita akan membuat file aplikasi sampel kita yang akan menyimpan kode aplikasi kita. Untuk melakukannya, buat index.js
file.
nano index.js
Setelah masuk file, 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 file. CTRL+ X.
Kami ingin memastikan bahwa aplikasi kami berjalan dengan baik. Untuk memulainya, jalankan node index.js
, dan Anda akan melihat Website is live
di konsol.
Sekarang kita tahu situs web kita berfungsi, kita dapat melanjutkan untuk menginstal Apache dan dependensinya.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Untuk menggunakan fitur reverse proxy yang ditemukan 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 sudah diaktifkan, tetapi selalu baik untuk memeriksanya.
Sekarang kita perlu mengedit file konfigurasi default 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 file, CTRL+ X.
Anda mungkin memperhatikan bahwa kami menggunakan port 3000
sebagai port untuk kami ProxyPass
dan ProxyPassReverse
IP. Karena ini adalah port yang sama dengan tempat kita menjalankan aplikasi Koa.js, kita harus memasukkan port yang benar.
Setelah perubahan terjadi, kita perlu me-restart Apache dan meluncurkan kembali aplikasi Koa.js kita.
sudo systemctl restart apache2
Ini akan memastikan bahwa file konfigurasi kami aktif dan siap untuk bekerja ketika kami memulai aplikasi Koa.js kami. Setelah Apache dimulai ulang, navigasikan kembali ke direktori situs Anda, dan mulai aplikasi Koa.js seperti yang kami lakukan sebelumnya. Dari browser web Anda, navigasikan ke http://yourdomain
, atau http://yourip:
, dan Anda akan melihat "Hello World".
Sekarang kita telah membahas dasar-dasar membuat contoh aplikasi Koa.js, kami menyadari bahwa dalam lingkungan produksi, memulai aplikasi seperti sekarang tidak praktis. Seorang manajer proses jelas merupakan suatu persyaratan. Di situlah systemd berperan. Secara sederhana, systemd terdiri dari perangkat lunak yang menyediakan blok bangunan untuk sistem Linux. Mirip dengan "init", ia menyediakan sistem untuk mengelola proses pengguna setelah startup sistem. Dalam hal aplikasi kita, systemd memungkinkan kita untuk memulai situs web kita secara otomatis setelah sistem di-boot-ulang, seandainya ada kejadian yang mengganggu waktu kerja sistem. Ini juga menyediakan satu set alat yang berguna ketika mengelola aplikasi kita. Bagian terbaiknya adalah fakta bahwa ia dibangun ke Ubuntu 16.04 LTS, jadi kami tidak perlu menginstal perangkat lunak tambahan apa pun.
Semua yang kita butuhkan untuk memulai aplikasi kita akan terkandung dalam sebuah file bernama service
. Ini menyimpan detail tentang aplikasi kami, seperti nama, direktori, lingkungan, dan lainnya. Untuk membuat file sistem kami, buka editor teks.
sudo nano /lib/systemd/system/site.service
Edit dan simpan file 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 server Anda. Berikut ini ikhtisar cepat bidang-bidang penting:
After
- Ini menginformasikan systemd untuk menunggu sampai antarmuka jaringan siap sebelum memulai aplikasi kita.Environment
- Di sini kita dapat menentukan variabel lingkungan untuk aplikasi kita. Port Node.js kami adalah salah satunya.Type
- Ini memberi tahu systemd bahwa aplikasi kita baru saja dapat dinyalakan, tanpa meminta hak pengguna dan semacamnya.User
- Ini memberitahu systemd bahwa kami ingin menjalankan aplikasi di bawah akun pengguna kami, yang direkomendasikan. Menjalankan aplikasi sebagai pengguna root dapat menyebabkan banyak kompromi keamanan.ExecStart
- Pada dasarnya perintah yang akan dijalankan systemd untuk memulai aplikasi kita, mirip dengan bagaimana kita memulainya secara manual sebelumnya.Restart
- Memberitahu systemd dalam kondisi apa untuk memulai kembali aplikasi kita. Dalam hal ini, kami ingin agar situs web kami direstart jika terjadi kesalahan.Kami sekarang siap untuk memulai layanan systemd kami.
sudo systemctl daemon-reload
Ini diperlukan setiap kali file layanan systemd berubah agar systemd mendaftarkan perubahan baru yang dibuat.
Kemudian, mulai aplikasi Anda.
sudo systemctl start site
Arahkan ke situs di browser Anda sekali lagi, untuk memverifikasi bahwa semuanya berfungsi.
stop
- Menghentikan aplikasi sepenuhnya.restart
- Hentikan aplikasi, dan mulai lagi di bawah proses baru.enable
- Memberitahu systemd untuk memulai aplikasi setiap kali Anda menyalakan komputer Anda.status
- Memperlihatkan info tentang aplikasi yang sedang berjalan, seperti waktu aktif, status aplikasi, dan lainnya.Untuk menggunakan salah satu dari fungsi ini, jalankan yang berikut ini.
systemctl <function> site
Kami telah berhasil membuat aplikasi Koa.js dan belajar cara membalikkannya, serta mengelolanya dengan systemd. Anda sekarang siap untuk memperluas aplikasi Anda dan membangun contoh ini. Jika Anda ingin mempelajari lebih lanjut tentang Koa.js, dan banyak hal yang dapat Anda lakukan, kunjungi situs web mereka , untuk informasi lebih lanjut. Selain itu, jika Anda ingin mempelajari lebih lanjut tentang manajer proses systemd, baca dokumentasi untuk itu di sini . Akhirnya, jika Anda ingin mempelajari lebih lanjut tentang proxy reverse Apache, silakan memeriksanya di sini .
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