Cara Paling Mudah Deploy Aplikasi Nodejs Di Server Linux - CRUDPRO

Cara Paling Mudah Deploy Aplikasi Nodejs Di Server Linux

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

Cara Paling Mudah Deploy Aplikasi Nodejs Di Server Linux

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.