
Cara Deploy Aplikasi Express.js di CentOS 7
Pembuka
Dalam dunia pengembangan aplikasi web, Node.js telah menjadi salah satu platform yang paling populer. Node.js memungkinkan pengembang untuk menggunakan JavaScript di sisi server. Dalam tutorial ini, kita akan membahas langkah-langkah untuk melakukan deploy aplikasi Express.js di CentOS 7. Kita akan menggunakan dua server: satu untuk menjalankan aplikasi Node.js dan yang lainnya sebagai reverse proxy menggunakan Nginx.
Prasyarat
Sebelum memulai, pastikan Anda sudah memiliki dua server CentOS 7 aktif dan terhubung dalam jaringan yang sama. Berikut adalah beberapa hal yang perlu dipersiapkan:
- Dua server CentOS 7 dengan akses SSH.
- Pengguna non-root dengan hak akses
sudodi kedua server. - Aplikasi Express.js yang siap untuk di-deploy.
Langkah Utama
Langkah 1: Menginstal Node.js
SSH ke server aplikasi menggunakan pengguna non-root Anda. Pertama, kita akan menginstal Node.js. Jalankan perintah berikut untuk mengunduh dan menginstal Node.js versi LTS terbaru:
ssh username@ip_address_app_server
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs
Langkah 2: Menginstal PM2
PM2 adalah manajer proses untuk Node.js yang akan membantu untuk menjalankan aplikasi secara otomatis. Setelah Node.js terinstal, instal PM2 dengan perintah berikut:
sudo npm install pm2 -g
Langkah 3: Menyiapkan Aplikasi Express.js
Pastikan aplikasi Express.js Anda sudah ada di server. Jika belum, Anda bisa menggunakan git untuk mengkloningnya atau mengunggahnya menggunakan scp. Setelah aplikasi berada di server, navigasikan ke direktori aplikasi dan jalankan perintah berikut untuk memulai aplikasi:
cd /path/to/your/app
pm2 start app.js --name myapp
Langkah 4: Memverifikasi Aplikasi Berjalan
Cek status aplikasi yang sedang berjalan dengan PM2 dengan perintah:
pm2 status
Konfigurasi Lanjutan
Langkah 5: Menginstal Nginx
Sekarang kita akan menginstal Nginx di server web. SSH ke server web Anda dan jalankan perintah berikut:
sudo yum install epel-release
sudo yum install nginx
Langkah 6: Mengonfigurasi Nginx sebagai Reverse Proxy
Setelah Nginx terinstal, kita perlu mengonfigurasinya untuk mem-forward permintaan ke server aplikasi. Edit file konfigurasi Nginx seperti berikut:
sudo vi /etc/nginx/conf.d/myapp.conf
Tambahkan konfigurasi berikut ke file:
server {listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://app_private_ip:port; # Ganti dengan alamat IP privat dan port aplikasi
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Langkah 7: Memulai Nginx
Setelah konfigurasi, kita perlu memulai Nginx dan memastikan layanan berjalan:
sudo systemctl start nginx
sudo systemctl enable nginx
Best Practices
Berikut adalah beberapa praktik terbaik untuk mengelola aplikasi Node.js di server:
- Gunakan HTTPS untuk mengamankan komunikasi antara klien dan server.
- Selalu perbarui Node.js dan semua paket yang digunakan untuk menghindari kerentanan keamanan.
- Monitor aplikasi menggunakan alat seperti PM2 atau alat pemantauan lainnya.
- Backup data aplikasi secara berkala.
Troubleshooting
Jika Anda mengalami masalah, berikut beberapa langkah troubleshooting yang dapat dilakukan:
- Periksa log aplikasi menggunakan
pm2 logs myappuntuk melihat kesalahan yang muncul. - Pastikan port yang digunakan oleh aplikasi tidak terhalang oleh firewall.
- Periksa konfigurasi Nginx untuk memastikan tidak ada kesalahan ketik dan layanan sudah berjalan.
- Gunakan perintah
curluntuk memverifikasi koneksi antara Nginx dan server aplikasi.
Kesimpulan
Dalam tutorial ini, kita telah membahas langkah demi langkah cara melakukan deploy aplikasi Express.js di CentOS 7. Dengan mengikuti panduan ini, Anda dapat menjalankan aplikasi Node.js dalam lingkungan produksi dengan lebih aman dan efisien. Selalu ingat untuk menerapkan praktik terbaik dalam pengelolaan aplikasi Anda untuk memastikan kinerja yang optimal dan keamanan.
Verifikasi Teknis
Panduan ini disusun berdasarkan referensi teknis terbaru. Namun, konfigurasi server dapat bervariasi. Lihat sumber referensi asli →
📚 Artikel Terkait
Easy Way to Install Faster and Secure WordPress on Ubuntu
596 kata • Baca selengkapnya →

Cara Install HTTPS di localhost Nginx
632 kata • Baca selengkapnya →

Cara Konfigurasi PHP-FPM Sebagai Backup HHVM di Nginx
510 kata • Baca selengkapnya →
Cara Install Hestia Control Panel di Debian 10
624 kata • Baca selengkapnya →