Cara Mengkonfigurasi Nginx sebagai Proksi Terbalik untuk Aplikasi NodeJS
- 3563
- 930
- Ian Parker
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
.
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.lanAkses 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.
- « Cara boot ke mode penyelamatan atau mode darurat di ubuntu 20.04/18.04
- Cara menginstal php 8.0 di Ubuntu 20.04/18.04 »