GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur Apache Sebagai Proxy Frontend untuk Node.js

Apache adalah server web paling populer. Anda juga dapat menggunakan Apache sebagai server proxy frontend untuk menjalankan aplikasi backend seperti Node.js. Tutorial ini akan membantu Anda menyiapkan server Apache sebagai server proxy frontend untuk aplikasi Node.js Anda dengan langkah mudah.

Sebelum Mulai

  • Saya menggunakan instance Ubuntu 18.04 yang dihosting di DigitalOcean.
  • Menginstal versi Node.js terbaru menggunakan tutorial ini di mesin Linux ini.

Langkah 1 – Buat Contoh Aplikasi Node

Saat Anda berada di sini Anda harus menjalankan aplikasi Node.js di beberapa port. Kami berasumsi Anda menjalankan aplikasi Anda di port 3000. Untuk tujuan demonstrasi, saya membuat contoh aplikasi web di Node.js dan berjalan di port 3000. Jadi akan lebih mudah untuk Anda pahami.

nano myapp.js 

Kemudian, tambahkan konten berikut di file JavaScript.

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World');
}).listen(3000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3000/');

Aplikasi Node Anda siap untuk melayani pada port 3000. Mari kita mulai aplikasi Node.js di latar belakang.

node myapp.js & 

Dan akses ini di browser. Anda akan melihat hasilnya seperti di bawah ini:

Langkah 2 – Instal Apache Server

Sekarang instal server web Apache menggunakan manajer Paket default. Sistem berbasis Ubuntu dan Debian menggunakan apt, Fedora dan CentOS/RHEL 8 menggunakan DNF dan CentOS/RHEL 7/6 menggunakan yum. Paket Apache tersedia di repositori default di hampir semua sistem operasi.

sudo apt install apache2   ### Debians based systems 
sudo dnf install httpd     ### Fedora & CentOS 8 

Setelah menginstal server web Apache, Anda harus mengaktifkan modul Proxy. Modul ini diaktifkan di Apache untuk pengguna yang menginstal menggunakan paket rpm. Jika Anda belum mengaktifkan edit konfigurasi Apache Anda /etc/httpd/conf/httpd.conf atau untuk Apache 2.4 /etc/httpd/conf.modules.d/00-proxy.conf file dan batalkan komentar pada baris berikut atau masukkan ke dalam file.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Untuk sistem berbasis Debian gunakan perintah berikut untuk mengaktifkan modul Proxy dengan Apache.

sudo a2enmod proxy proxy_http 

Langkah 3 – Konfigurasi Apache VirtualHost

Karena Anda telah mengonfigurasi dan menjalankan server demo Node.js. Sekarang, mulai konfigurasi dengan server web Apache. Buat file konfigurasi host virtual untuk domain Anda di bawah /etc/Apache2/sites-available/ direktori.

### Debian based system's 
sudo nano /etc/apache2/sites-available/example.com.conf 

### Redhat based system's 
sudo vim /etc/httpd/conf.d/example.com.conf 

dan tambahkan konten berikut.

Apache
1234567 ServerName example.com ProxyPreserveHost Pada ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/

Setelah membuat konfigurasi, restart server web Apache menggunakan perintah berikut.

### Debian based system's 
sudo a2ensite example.com 
sudo systemctl restart apache2 

### Redhat based system's 
sudo systemctl restart httpd 

Langkah 5 – Verifikasi Penyiapan

Sekarang akses server Anda menggunakan nama domain, Anda akan melihat halaman yang sama ditampilkan di http://127.0.0.1:3000/ .

Kesimpulan

Anda telah melakukan konfigurasi proxy Apache untuk mem-backend aplikasi Node.js. Atau, Nginx memiliki kinerja yang lebih baik sebagai server Proxy, jadi jika Anda tidak terikat dengan Apache, gunakan server proxy Nginx.


Linux
  1. Cara Menginstal Node.js di Debian 10 dan mengkonfigurasi Nginx sebagai Server Proxy Frontend

  2. Setup Apache Traffic Server sebagai Reverse Proxy di Linux

  3. Cara Setup server proxy squid di CentOS/RHEL 7

  1. Cara Mengonfigurasi Nginx sebagai Server Web dan Reverse Proxy untuk Apache di CentOS 8

  2. Cara Mengatur Nginx sebagai Proxy Terbalik untuk Apache di Debian 11

  3. Cara Setup WordPress di Server Ubuntu dengan Apache

  1. Cara Menginstal Apache di FreeBSD

  2. Cara Menginstal Apache Di Fedora 20

  3. Cara Menginstal Apache di Debian 7