[Termux] Nginx sebagai Load Balancer dan Web Server
Artikel kali ini akan membahas mengenai bagaimana cara membangun sebuah load balancer web server menggunakan nginx pada smartphone Android dengan topologi berikut :
Hal-hal yang perlu dipersiapkan dalam artikel ini diantaranya :
Penjelasan mengenai termux dan nginx, dapat dibaca di halaman dokumentasinya di link termux dan nginx.
Walaupun pada artikel ini telah disebutkan spesifik menggunakan termux, tapi konfigurasi yang tertera pada artikel dapat diaplikasikan dalam lingkungan sistem operasi lain seperti windows, distro-distro linux, *BSD, dll. Pembaca hanya perlu menyesuaikan path-path dan perintah instalasi yang tertera pada artikel dengan path dan perintah instalasi yang ada pada lingkungan sistem operasi yang digunakan.
Langsung saja berikut tahap-tahap yang akan dilakukan :
Topologi |
Hal-hal yang perlu dipersiapkan dalam artikel ini diantaranya :
- Sebuah HP Android yang telah terinstall termux
- Niat dan usaha
Penjelasan mengenai termux dan nginx, dapat dibaca di halaman dokumentasinya di link termux dan nginx.
Walaupun pada artikel ini telah disebutkan spesifik menggunakan termux, tapi konfigurasi yang tertera pada artikel dapat diaplikasikan dalam lingkungan sistem operasi lain seperti windows, distro-distro linux, *BSD, dll. Pembaca hanya perlu menyesuaikan path-path dan perintah instalasi yang tertera pada artikel dengan path dan perintah instalasi yang ada pada lingkungan sistem operasi yang digunakan.
Langsung saja berikut tahap-tahap yang akan dilakukan :
- Buka termux
- Install nginx dengan perintah pkg install nginx nano
- Masuk ke direktori /data/data/com.termux/files/usr/etc/nginx/ dengan perintah cd /data/data/com.termux/files/usr/etc/nginx/
- Backup file konfigurasi asli nginx dengan perintah cp nginx.conf{,.orig}
- Gunakan text editor yang disukai untuk membuka file nginx.conf. Contoh disini menggunakan nano dengan perintah nano nginx.conf
- Dalam file konfigurasi tersebut, cari tag http {}, tambahkan script berikut :
upstream praktikum {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
} - Kemudian didalam tag http{}, cari tag server {} yang aktif/tidak dicomment
- Didalam tag server {} tersebut, cari tag location / {}
- Comment konfigurasi yang ada di tag location tersebut.
- Tambahkan konfigurasi proxy_pass http://<nama upstream grup>
- Diluar tag server {} yang sudah ada, buat tag server baru yang akan bertindak sebagai backend web server 1 dan 2 dengan kofigurasi berikut :
server {
listen 8081;
location / {
root /data/data/com.termux/files/usr/share/nginx/html/web1;
index index.html index.htm;
}
}
server {
listen 8082;
location / {
root /data/data/com.termux/files/usr/share/nginx/html/web2;
index index.html index.htm;
}
} - File konfigurasi akhirnya kurang lebih akan seperti berikut:
......
http {
include mime.types;
.............
upstream praktikum {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server / {
listen 8080;
.............
location / {
proxy_pass http://praktikum;
# root /data/data/com.termux/files/usr/share/nginx/html;
# index index.html index.htm;
}
}
server / {
listen 8081;
location / {
root /data/data/com.termux/files/usr/share/nginx/html/web1;
index index.html;
}
}
server / {
listen 8082;
location / {
root /data/data/com.termux/files/usr/share/nginx/html/web2;
index index.html;
}
}
} - Setelah itu simpan file konfigurasi dengan menekan tombol ctrl+x dilanjutkan dengan menekan tombol Y
- Cek hasil konfigurasi yang telah dilakukan dengan perintah nginx -t. Apabila output yang dihasilkan perintah tersebut berupa "syntax ok", maka konfigurasi sudah benar.
- Selanjutnya masuk ke direktori root nginx /data/data/com.termux/files/usr/share/nginx/html dengan perintah cd /data/data/com.termux/files/usr/share/nginx/html
- Buat direktori web1 dan web2 sebagai lokasi penyimpanan file html untuk backend 1 dan backend 2 dengan perintah mkdir web1 web2
- Kemudian buat file index.html di masing-masing direktori dengan perintah echo "<h2>Web 1</h2>" > web1/index.html && echo "<h2>Web 2</h2>" > web2/index.html
- Setelah itu, jalankan nginx dengan perintah nginx.
- Buka web browser di Smartphone dan ketikkan localhost:8080. Maka akan ditampilkan halaman web server yang dipilih secara random oleh nginx loadbalancer. Coba reload berulang-ulang untuk memastikan bahwa nginx loadbalancer dapat memanggil web server 1 ataupun 2 secara bergantian.
Tampilan halaman localhost:8080 ketika dibuka pertama menampilkan "Web 1"
Tampilan halaman localhost:8080 ketika direload menampilkan "Web 2"
thanks infonya mas. sangat berguna untuk pemahaman dasar dari Load Balancer dan Web Server menggunakan nginx.
BalasHapusHallo kak...
BalasHapusIni kesalahannya dimana ya. Minta di cek donk...
Kira" seperti ini konfig nya
http {
include mime.types;
default_type application/octet-stream;
upstream praktikum {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
#log_format main '$remote_addr - $remote_user [$time>
# '$status $body_bytes_sent "$http_re>
# '"$http_user_agent" "$http_x_forwar>
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://praktikum;
# root /data/data/com.termux/files/usr/share/ng>
# index index.html index.htm;
}
location ~ \.php$ {
root /data/data/com.termux/files/usr/share/nginx/ht>
fastcgi_pass unix://data/data/com.termux/files/usr/>
include fastcgi.conf;
fastcgi_index index.php;
}
#error_page 404 /404.html;
............................................................
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
server {
listen 8081;
location / {
root /data/data/com.termux/files/usr/share/nginx/h>
index index.html index.htm;
}
}
server {
listen 8082;
location / {
root /data/data/com.termux/files/usr/share/nginx/h>
index index.html index.htm;
}
}