Cara Paling Mudah Deploy Aplikasi Nodejs Di Server Linux
Sebelum memulai, mari kita bahas beberapa pertanyaan yang mungkin muncul saat Anda mencoba men-deploy aplikasi Anda.
Mengapa Menyebarkan aplikasi node ke Server Linux?
Secara sederhana, penyebaran adalah proses membuat aplikasi tersedia untuk dikonsumsi oleh pengguna. Hari ini, kami akan fokus pada penyebaran ke Server Linux. Preferensi saya dari Server Linux ke Windows Server sangat dipengaruhi oleh kinerjanya.
Server Linux pasti lebih cepat dari server windows. Tapi bukan itu saja, mereka menawarkan keamanan lebih, lebih stabil, lebih fleksibel dan lebih ringan. Mereka juga jauh lebih murah untuk dirawat.
Anda dapat mengetahui lebih lanjut di sini
Apa itu nginx?
Nginx adalah perangkat lunak sumber terbuka untuk penyajian web, proxy terbalik, caching, penyeimbangan beban, streaming media, dan banyak lagi. Kami akan menggunakan nginx untuk mengakses server kami di web. Buka dokumen NGINX untuk mempelajari lebih lanjut.
Apa itu PM2?
PM2 adalah pengelola proses daemon tingkat lanjut yang akan membantu kami mengelola dan menjaga aplikasi kami tetap online. Kami akan menggunakannya untuk menjaga server kami tetap aktif dan berjalan 24/7.
Buka dokumen PM2 untuk mempelajari lebih lanjut.
Prasyarat
- Siapkan dan jalankan server linux Anda.
- Pastikan Node.js diinstal dan diatur di server
- Anda seharusnya sudah mendorong kode Anda ke github atau lingkungan kontrol versi lainnya.
- Sudah mengkloning kode NodeJs Anda ke server Anda.
Langkah-Langkah Untuk Diikuti Untuk Sukses Menyebarkan Aplikasi Anda
Langkah 1 - Instal PM2 di server
Untuk menginstal pm2 jalankan perintah berikut:
npm install pm2 -g
Langkah 2 - Izinkan koneksi firewall
Pertama, kami mencantumkan semua aplikasi yang tersedia di antarmuka firewall
sudo ufw app list
Kemudian, periksa status firewall dan aktifkan
sudo ufw status
sudo ufw enable
Anda dapat memeriksa status lagi untuk memastikan.
Setelah itu, Anda harus mengizinkan OpenSSH (mengingat Anda berada di terowongan ssh) dan Nginx HTTP untuk mengizinkan koneksi http.
sudo ufw allow openssh
sudo ufw allow ‘nginx http’
Anda juga dapat mengaktifkan semua opsi beli dengan menjalankan opsi Nginx Full.
Sekarang muat ulang firewall Anda
sudo ufw reload
Langkah 3 - Instal dan konfigurasikan Nginx sebagai proxy Terbalik.
Nginx tersedia di repositori Ubuntu, Anda dapat menggunakan perintah apt untuk menginstalnya:
sudo apt-get install -y nginx
Selanjutnya, navigasikan ke direktori 'situs-tersedia'
cd /etc/nginx/sites-available/
Daftar semua item dalam direktori.
Anda akan melihat satu file, default. Buka dengan editor. Baik vim atau nano. Saya akan menggunakan nano di sini, tetapi membuka keduanya pada dasarnya sama.
ls
nano default
Ganti isinya dengan kode berikut. Anda dapat menentukan nama server atau tidak. Dalam kasus saya, saya tidak akan.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / { proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://localhost:4000/; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_redirect off;
}
}
simpan file dan keluar dari nano.
Uji konfigurasi Nginx dan pastikan tidak ada kesalahan.
nginx -t
Mulai Nginx dan biarkan mulai saat boot
sudo systemctl start nginx
sudo systemctl enable nginx
Langkah 4 - Menjalankan server melalui pm2
Pertama, navigasikan ke proyek Anda
cd /path/to/project/
Jalankan proyek menggunakan pm2. Saya akan menggunakan metode yang paling aman
pm2 start "npm start" --name "serverInstanceName"
Proyek Anda sekarang harus berjalan dan Anda akan melihat tabel seperti di bawah ini
Untuk menegaskan bahwa aplikasi Anda berjalan dengan lancar, Anda dapat menjalankan perintah berikut untuk melihat log server node
pm2 logs
Untuk kelancaran penggunaan pm2, silakan merujuk ke dokumen.
Pada titik ini, aplikasi Anda seharusnya berjalan dengan lancar. Sekarang ke langkah terakhir
Langkah 5 - Akses server Anda dari browser
Anda sekarang dapat mengakses server web Anda di browser apa pun atau klien REST (tukang pos), menggunakan format titik akhir berikut.
http://<linux_server_ip_address>/
Anda dapat menjalankan tes pada tukang pos untuk mengonfirmasi apakah semuanya baik-baik saja.
Itulah Semuanya!
Saya harap Anda dapat memahaminya dan semoga bermanfaat juga tentunya. Berikan beberapa tepukan untuk membuat orang lain menemukannya juga!
Tinggalkan satu atau dua komentar, karena itu sangat saya hargai.
Terima kasih.