GNU/Linux >> Belajar Linux >  >> Linux

Cara mengatur aplikasi nodejs sederhana dengan nginx dan pm2 di server ubuntu

Menjalankan aplikasi nodejs pada lingkungan pengembangan atau lokal di mana antarmuka GUI disediakan di OS adalah tugas yang mudah tetapi ketika harus menerapkannya dalam produksi di server cloud, sebagian besar pemula tidak tahu bagaimana memulainya. Jadi, berikut adalah prosedur langkah demi langkah terperinci untuk menyiapkan aplikasi nodejs sederhana.

1. Membuat pengguna sudo baru

CATATAN:Jika Anda telah membuat pengguna dengan hak superuser, Anda tidak perlu mengikuti langkah ini.

Sebenarnya Anda bisa langsung bekerja dengan root pengguna tetapi kemudian beberapa perintah berbahaya yang salah ketik oleh Anda di terminal akan membahayakan server. Jadi lebih baik gunakan sudo akses dan untuk membuatnya login pertama dengan root hak istimewa pengguna:

$ ssh [email protected]_server_ip

Dan kemudian lengkapi dengan memberikan kata sandi dan keaslian host.
Sekarang buat pengguna baru dengan sudo akses:

$ adduser sonu
$ usermod -aG sudo sonu

Perintah pertama membuat pengguna baru setelah mengajukan beberapa pertanyaan dan perintah kedua menambahkan pengguna tersebut ke sudo grup (grup pengguna super).
Sekarang logout dari server (gunakan exit perintah) dan login dengan pengguna baru ini.

$ ssh [email protected]_ip

2. Instal nginx dan node.js

Pertama-tama perbarui apt repositori dengan perintah ini:

$ sudo apt update

Sekarang instal nginx menggunakan

$ sudo apt install nginx

Dan kemudian nodejs dengan

$ curl -sL https://deb.nodesource.com/setup_6.x | bash
$ sudo apt install -y nodejs

Anda juga dapat memeriksa nodesource resmi [petunjuk penginstalan.] (https://github.com/nodesource/distributions#installation-instructions) untuk versi node.js terbaru.

3. Memulai aplikasi nodejs (ekspres) sederhana

Kami akan membuat aplikasi expressjs sederhana menggunakan express-generator . Jadi pertama-tama instal express-generator secara global menggunakan yang berikut ini:

$ sudo npm i express-generator -g

Setelah itu buat aplikasi ekspres di direktori home

$ cd ~
$ express testapp

Sekarang mulai aplikasi menggunakan :

$ cd testapp
$ npm install & npm start

Aplikasi Anda akan dimulai di http://localhost:8080 pelabuhan.

4. Instal pm2 untuk menjalankannya selamanya

Cukup lakukan npm start tidak akan memulai ulang aplikasi jika aplikasi mati jika terjadi kegagalan server atau sesuatu. Jadi untuk tetap aktif dan berjalan setiap kali sistem dimulai ulang, kami menggunakan pm2 aplikasi nodejs. Instal secara global dengan mengetikkan sudo npm i pm2 -g dan jalankan aplikasi selamanya menggunakan perintah berikut.

$ cd testapp/bin
$ pm2 start www

5. Memetakan 8080 ke port http default.

Sekarang langkah terakhir adalah menggunakan nginx untuk memetakan 8080 port ke default 80 pelabuhan http. Kami menyebutnya server proxy terbalik.
Buka blok server default nginx dan hapus semuanya dari file itu.

$ sudo nano /etc/nginx/sites-available/default

Rekatkan kode berikut ke dalam file ini dan simpan:

server {
   listen 80;
   server_name "";
   location / {
     proxy_pass http://localhost:8080;
     proxy_http_version 1.1;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

Terakhir uji konfigurasi dan muat ulang nginx :

$ sudo nginx -t
$ sudo nginx -s reload
## or restart the nginx 
$ sudo service nginx restart

Langkah tambahan adalah menonaktifkan port 8080 melalui ubuntu ufw firewall. Mengaktifkannya akan memblokir semua port. Jadi izinkan beberapa port umum melalui Nginx Full konfigurasi.

$ sudo ufw enable
$ sudo ufw allow 'Nginx Full'

Linux
  1. Apa Itu Samba Server Dan Bagaimana Cara Setup Samba Server Di Ubuntu Linux

  2. Cara Menginstal Elgg dengan Nginx di Ubuntu 18.04

  3. Cara Menginstal Node.js dengan NVM dan Nginx di Ubuntu 22.04

  1. Cara Mengatur Django dengan Postgres, Nginx dan Gunicorn di Ubuntu 20.04

  2. Cara Mengamankan server Ubuntu Anda dengan CSF Firewall

  3. Cara Menginstal dan Mengatur Stack MERN dengan Nginx di Ubuntu 20.04

  1. Cara Mengatur NGINX yang Sangat Tersedia dengan KeepAlived di Linux

  2. Cara Mengatur Magento 2 Dengan Varnish dan Apache di Ubuntu 16.04

  3. Cara Menginstal HTTP Git Server dengan Nginx di Ubuntu 18.04 LTS