Jumat, 02 November 2018

Menjalankan Node.js pada Server Apache

Node.js adalah perangkat lunak yang didesain untuk mengembangkan aplikasi berbasis web dan ditulis dalam sintaks bahasa pemrograman JavaScript.

Konsep

Kita tidak bisa menjalankan node.js dan apache pada port yang sama, dengan ini kita perlu mengonfigurasi apache agar bertindak seperti proxy terbalik dan meneruskan permintaan ke aplikasi node.js untuk url tertentu.
Jika Anda memiliki server Apache yang berjalan di localhost dan ingin menjalankan aplikasi Node.js di localhost / node, maka alurnya akan terlihat seperti ini.

Implementasi

Pertama mulai aplikasi node untuk memantau port 3000.
const express = require('express')
const app = express()

app.get('/', (req, res) => res.send('Hello World! from Node.js'))
app.listen(3000, () => console.log('Example app listening on port 3000!'))
Ini adalah contoh aplikasi sederhana untuk melayani permintaan http menggunakan Express dan mengembalikan teks sederhana yang tentunya bisa lihat di browser jika mengakses localhost:3000.

Selanjutnya kita akan membuat Apache melakukan re-route permintaan dengan menggunakan arahan dari proxypass. Cukup buka file httpd.conf dan tambahkan baris dibawah ini:
ProxyPass /node http://localhost:3000/
Anda bisa mengganti / node menjadi url apapun yang Anda ingin untuk melayani aplikasi node Anda.
Kemudian, pastikan Anda sudah mengaktifkan modul mod_proxy dan mod_proxy_http dengan menghapus tanda komentarnya.
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Save file tersebut, lalu restart server Apache Anda tersebut.
Masa sekarang ketika Anda mengakses localhost, maka halaman ini berjalan di atas server Apache.

Sekarang coba akses localhost/node dan lihat hasilnya.



Perlu dicatat bahwa pendekatan ini cocok untuk peran tertentu dengan jumlah pengguna yang terbatas. Namun jika Anda ingin memiliki skalabilitas kinerja, Anda harus menjalankan Apache dan node.js secara terpisah dan menggunakan yang lain seperti nginx untuk melakukan hal sebaliknya.
Semoga ini memberikan Anda inspirasi untuk diterapkan pada pekerjaan Anda, dan jangan ragu untuk memberikan komentar pada kolom yang sudah kami sediakan dibawah.

Tidak ada komentar:

Posting Komentar