Cara Mengkonfigurasi Nginx sebagai Proksi Terbalik untuk Aplikasi NodeJS

Cara Mengkonfigurasi Nginx sebagai Proksi Terbalik untuk Aplikasi NodeJS

NodeJS adalah kerangka kerja JavaScript open source gratis, ringan, terukur, dan efisien yang dibangun di atas mesin JavaScript V8 Chrome, dan menggunakan model I/O yang tidak diblokir oleh peristiwa. NodeJs sekarang ada di mana -mana, dan telah menjadi sangat populer untuk mengembangkan perangkat lunak dari situs web, aplikasi web ke aplikasi jaringan dan banyak lagi.

Nginx adalah open source, server http berkinerja tinggi, load balancer dan perangkat lunak proxy terbalik. Ini memiliki bahasa konfigurasi langsung sehingga mudah dikonfigurasi. Di artikel ini, kami akan menunjukkan cara mengkonfigurasi Nginx sebagai proxy terbalik untuk aplikasi nodejs.

Baca juga: Panduan utama untuk mengamankan, mengeras, dan meningkatkan kinerja Nginx Web Server

Catatan: Jika sistem Anda sudah berjalan dengan NodeJS Dan NPM, dan menjalankan aplikasi Anda di port tertentu, langsung Langkah 4.

Langkah 1: Menginstal NodeJs dan NPM di Linux

Versi terbaru dari Node.JS Dan NPM tersedia untuk diinstal dari Repositori Distribusi Binary Binary Debian, Fedora, Debian, Debian dan Ubuntu, yang dikelola oleh situs web NodeJS dan Anda perlu menambahkannya ke sistem Anda untuk dapat menginstal paket NodeJs dan NPM terbaru seperti yang ditunjukkan seperti.

Di debian/ubuntu

---------- Instal Node.JS V11.X ---------- $ curl -sl https: // deb.Nodesource.com/setup_11.x | sudo -e bash -$ sudo apt -get install -y nodejs ---------- Instal Node.JS V10.X ---------- $ curl -sl https: // deb.Nodesource.com/setup_10.x | sudo -e bash -$ sudo apt -get install -y nodejs 

Di Centos/Rhel dan Fedora

---------- Instal Node.JS V11.X ---------- $ curl -sl https: // rpm.Nodesource.com/setup_11.x | pesta - ---------- Instal Node.JS V10.X ---------- $ curl -sl https: // rpm.Nodesource.com/setup_10.x | pesta - 

Langkah 2: Membuat Aplikasi NodeJS

Untuk tujuan demonstrasi, kami akan membuat aplikasi sampel yang dipanggil "Sysmon", yang akan berjalan di port 5000 seperti yang ditunjukkan.

$ sudo mkdir -p/var/www/html/sysmon $ sudo vim/var/www/html/sysmon/server.JS 

Salin dan tempel kode berikut di server.JS file (ganti 192.168.43.31 dengan IP server Anda).

const http = membutuhkan ('http'); const hostname = '192.168.43.31'; port const = 5000; server const = http.createServer ((req, res) => res.StatusCode = 200; res.setHeader ('tipe konten', 'teks/polos'); res.end ('aplikasi sysmon sedang berjalan dan berjalan!\N'); ); server.Listen (port, hostname, () => konsol.log ('server berjalan di http: // $ hostname: $ port/'); ); 

Simpan file dan keluar.

Sekarang mulai aplikasi Node Anda menggunakan perintah berikut (tekan Ctrl+x untuk menghentikannya).

$ sudo node/var/www/html/sysmon/server.JS atau $ sudo node/var/www/html/sysmon/server.JS & #start di latar belakang untuk membebaskan terminal Anda 

Sekarang buka browser dan akses aplikasi Anda di URL http: // 198.168.43.31: 5000.

Akses Aplikasi Node dari Browser

Langkah 3: Instal Nginx Reverse Proxy di Linux

Kami akan menginstal versi terbaru Nginx dari repositori resmi, seperti yang ditunjukkan di bawah ini.

Di debian/ubuntu

Buat file yang dipanggil /etc/apt/sumber.daftar.d/nginx.daftar dan tambahkan baris berikut ke dalamnya.

Deb http: // nginx.org/paket/ubuntu/bionic nginx deb-src http: // nginx.org/paket/ubuntu/bionic nginx 

Selanjutnya, tambahkan tombol penandatanganan repositori, perbarui indeks paket sistem Anda dan instal paket nginx sebagai berikut.

$ wget --quiet http: // nginx.org/keys/nginx_signing.kunci && sudo apt-key tambahkan nginx_signing.kunci $ sudo apt update $ sudo apt install nginx 

Di Centos/Rhel dan Fedora

Buat file bernama /etc/yum.repo.d/nginx.repo dan tempel salah satu konfigurasi di bawah ini.

Centos
[nginx] name = nginx repo baseUrl = http: // nginx.org/paket/centos/$ Rilis/ $ Basearch/ gpgcheck = 0 diaktifkan = 1
RHEL
[nginx] name = nginx repo baseUrl = http: // nginx.org/paket/rhel/$ Rilis/ $ Basearch/ gpgcheck = 0 diaktifkan = 1

Catatan: Karena perbedaan antara bagaimana CentOS dan RHEL, perlu untuk diganti $ Rilis dengan keduanya 6 (untuk 6.X) atau 7 (untuk 7.X), tergantung pada versi OS Anda.

Selanjutnya, tambahkan tombol penandatanganan repositori dan instal paket nginx seperti yang ditunjukkan.

# wget --quiet http: // nginx.org/keys/nginx_signing.kunci && rpm --import nginx_signing.kunci # yum instal nginx 

Setelah berhasil menginstal Nginx, Mulailah, aktifkan untuk memulai secara otomatis di boot sistem dan periksa apakah sudah berjalan dan berjalan.

---------- Di debian/ubuntu ---------- $ sudo systemctl status nginx $ sudo systemctl Aktifkan nginx $ sudo systemctl status nginx ---------- Di centos/rhel ---------- # Systemctl Status nginx # Systemctl Aktifkan Nginx # Systemctl Status Nginx 

Jika Anda menjalankan firewall sistem, Anda perlu membuka port 80 (http), 443 (https) Dan 5000 (aplikasi simpul), yang didengarkan server web untuk permintaan koneksi klien.

---------- Di debian/ubuntu ---------- $ sudo ufw izinkan 80/tcp $ sudo ufw izinkan 443/tcp $ sudo ufw izinkan 5000/tcp $ sudo ufw reload ---------- Di centos/rhel ---------- # firewall-cmd --permanent --add-port = 80/tcp # firewall-cmd --permanent --add-port = 443/tcp # firewall-cmd --permanent --add-port = 5000/tcp # firewall -cmd --eload 

Langkah 4: Mengkonfigurasi Nginx sebagai proxy terbalik untuk aplikasi NodeJS

Sekarang buat file konfigurasi blok server untuk aplikasi node Anda di bawah /etc/nginx/conf.D/ seperti yang ditunjukkan.

$ sudo vim/etc/nginx/conf.D/SYSMON.conf 

Salin dan Tempel Konfigurasi berikut (Ubah 192.168.43.31 dengan IP server Anda dan tecmint.lan dengan nama domain Anda).

server dengarkan 80; nama server Sysmon.tecmint.lan; Lokasi / proxy_set_header X-forwarded-for $ remote_addr; proxy_set_header host $ http_host; proxy_pass http: // 192.168.43.31: 5000;  

Simpan perubahan dan keluar dari file.

Akhirnya, restart layanan nginx untuk mempengaruhi perubahan terbaru.

$ sudo systemctl restart nginx atau # systemctl restart nginx 

Langkah 5: Akses Aplikasi Nodejs melalui Browser Web

Sekarang Anda harus dapat mengakses aplikasi Node Anda tanpa menyediakan port yang didengarkannya, di URL: Ini adalah cara yang jauh lebih nyaman bagi pengguna untuk mengaksesnya.

http: // sysmon.tecmint.lan 

Agar nama domain pengujian Anda berfungsi, Anda perlu mengatur DN lokal menggunakan /etc/host file, buka dan tambahkan baris di bawah ini (ingatlah untuk berubah 192.168.43.31 dengan IP server Anda dan tecmint.lan dengan nama doamin Anda seperti sebelumnya).

192.168.43.31 Sysmon.tecmint.lan 
Akses Aplikasi Node melalui Proxy Reverse Nginx

Itu saja! Di artikel ini, kami menunjukkan cara mengkonfigurasi Nginx sebagai proxy terbalik untuk aplikasi nodejs. Gunakan formulir umpan balik di bawah ini untuk mengajukan pertanyaan atau membagikan pemikiran Anda tentang artikel ini.