Deploy Aplikasi Javascript Menggunakan Nginx
Suasana hati saya hari ini sangat mendukung untuk menulis sekarang, jadi saya menggunakan suasana hati ini sebanyak mungkin. Terjadinya mood ini bahkan sangat jarang, karena tidak dapat direncanakan atau dikonfigurasi.
Hampir sama dengan artikel sebelumnya, tapi kali ini kita akan menggunakan Nginx untuk men-deploy aplikasi JavaScript sederhana.
Node.js
Node.js adalah lingkungan runtime JavaScript lintas platform open source yang menjalankan kode JavaScript di luar browser web Anda. Jika Anda belum memilikinya, kami akan menunjukkan cara memasangnya nanti.
NPM
NPM adalah manajer paket untuk bahasa pemrograman JavaScript. Ini adalah manajer paket default untuk lingkungan runtime JavaScript Node.js. Ini terdiri dari klien baris perintah, juga dikenal sebagai npm, dan database online paket publik dan pribadi berbayar yang disebut registri npm. NodePackageManager juga disediakan saat Anda menginstal Node.js.
Nginx
Nginx adalah server web yang juga dapat digunakan sebagai proxy terbalik, penyeimbang beban, proxy surat, dan cache HTTP. Sangat mudah untuk menginstal hanya dengan menggunakan garis bersih ini.
# apt install nginx
Silakan periksa versi untuk konfirmasi.
# nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
Untuk memeriksa ulang apakah ada masalah kepercayaan, kirim IP VM dan periksa web. Secara default, Nginx berjalan pada port 80, tetapi jika Anda memiliki layanan lain yang berjalan pada port 80, Anda dapat mengubahnya ke port lain.
Langkah 1 Pengaturan lingkungan
Tambahkan repositori Node.js terbaru
# curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
Instal layanan
# apt install nodejs
Periksa versi
# node -v
v14.7.0
# npm -v
6.14.7
Instal beberapa paket
Express Generator adalah alat pembuat aplikasi untuk membuat kerangka aplikasi dengan cepat.
PM2 adalah manajer proses lanjutan untuk aplikasi Node.js produksi. Anda dapat melihat penyeimbang beban, fungsi log, skrip startup, dan manajemen layanan mikro secara sekilas.
# npm install express-generator pm2 -g
Paket-paket ini tidak terisolasi dan diinstal secara global pada sistem Anda.
angkah 2 Buat aplikasi
Menghasilkan aplikasi
# express node-app
Instal aplikasinya
Buka direktori proyek Anda dan instal semua dependensi yang dibutuhkan aplikasi Anda.
# cd node-app
# npm install
Luncurkan aplikasi
# DEBUG=node-app:* npm start
Periksa aplikasi
Secara default, aplikasi Express berjalan pada port 3000.
Langkah 2: Konfigurasikan Node Manager
Periksa skrip perintah mulai
Gunakan perintah cat untuk menampilkan isi package.json.
# cat package.json
Seperti yang Anda lihat, baris blok awal di bawah skrip berisi perintah yang digunakan Node.js untuk memulai aplikasi ekspres. Gunakan perintah ini dengan manajer proses pm2.
{
"name": "node-app",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"morgan": "~1.9.1"
}
}
Jalankan aplikasinya
Jalankan aplikasi ekspres di pm2
# pm2 start ./bin/www
Aplikasi Node.js sekarang berjalan di latar belakang dan dikelola oleh pm2.
Langkah 2-Konfigurasi Nginx
Buat file konfigurasi
Konfigurasikan Nginx untuk meneruskan permintaan web ke soket itu dengan membuat beberapa tambahan kecil pada file konfigurasi.
# nano /etc/nginx/sites-available/node-app
Buat file konfigurasi bernama node-app di /etc/nginx/sites-availabledirectory. Buka blok server dan beri tahu Nginx untuk mendengarkan pada port default 80.
Tambahkan blok lokasi yang cocok dengan semua permintaan. Di dalam blok ini, sertakan file proxy_params yang menentukan beberapa parameter proxy umum yang perlu disetel. Kemudian berikan permintaan ke soket yang ditentukan menggunakan direktif proxy_pass.
server {
listen 80;
listen [::]:80;location / {
include proxy_params;
proxy_pass http://127.0.0.1:3000;
}
}
Aktifkan konfigurasi
Untuk mengaktifkan konfigurasi blok server Nginx yang Anda buat, tautkan file ke direktori yang mendukung situs.
# ln -s /etc/nginx/sites-available/node-app /etc/nginx/sites-enabled
Uji sintaks konfigurasi
Tes untuk kesalahan sintaks.
# nginx -t
Mulai ulang layanan
Jika tes tidak menunjukkan masalah, Anda dapat memulai ulang proses Nginx untuk membaca konfigurasi baru.
# systemctl restart nginx
Periksa layanan
Anda sekarang seharusnya dapat mengakses IP VM di browser web Anda dan memverifikasi bahwa aplikasi Anda sedang berjalan.