[Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7

[Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7 - Hallo sahabat Another Stuff, Pada Artikel yang anda baca kali ini dengan judul [Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel Admin Server, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : [Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7
link : [Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7

Baca juga


[Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7

Kali ini saya akan membahas tentang load balance reverse proxy, materi ini tidak jauh berbeda dengan reverse proxy pada umumnya yaitu fitur pada nginx yang memungkinkan terdapat server controller (frontend/proxy) dan backend (web server sesungguhnya). Server Controller bertugas untuk menerima permintaan dari client kemudian permintaan tersebut akan diteruskan pada server backend.

Perbedaannya pada kali ini jumlah server backend nya lebih dari satu dan akan kita konfigurasi load balance, agar server controller dapat meneruskan permintaan ke server backend secara merata dan bergantian, misalnya pada permintaan pertama ada di node1, dan untuk yang kedua akan ke node2, kemudian saya akan tambahkan yang node3 sebagai backup jika node1 dan node2 mati.

Controller

Server ini yang akan menjadi server proxy frontend, tugasnya untuk menerima permintaan dari client kemudian akan meneruskannya pada server-server backend.

Kita lakukan konfigurasi IP Address pada server ini agar dapat terhubung dengan jaringan, buka file konfigurasi interface yang ada di /etc/sysconfig/network-scripts/ifcfg-enp0s3.
[root@dz-nginx-ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 
  • Kemudian kita ubah dan tambahkan beberapa isinya sesuai jaringan yang kita pakai.
  • TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.40
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

EPEL Repo

Karena nginx terdapat pada repo epel kita harus menginstall repo epel pada server centos yang kita konfigurasi ini.

Pertama kita install aplikasi wget untuk mendownload sesuatu.
[root@dz-nginx-ct ~]# yum -y install wget
Dan kemudian kita download paket untuk menginstall repo epel pada situs resminya.
[root@dz-nginx-ct ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
Install paket installasi tersebut.
[root@dz-nginx-ct ~]# rpm -ivh epel-release-7-9.noarch.rpm

Install Nginx

Kita install aplikasi nginx dari repositori epel.
[root@dz-nginx-ct ~]# yum --enablerepo=epel -y install nginx
Buka firewall untuk layanan http agar dapat diakses dari luar.
[root@dz-nginx-ct ~]# firewall-cmd --permanent --add-port=80/tcp
[root@dz-nginx-ct ~]# firewall-cmd --permanent --add-port=443/tcp
[root@dz-nginx-ct ~]# firewall-cmd --reload
Edit file konfigurasi default web site dari nginx untuk menambahkan beberapa script agar dapat melakukan load balance.
[root@dz-nginx-ct ~]# nano /etc/nginx/nginx.conf
  • Tambahkan script ini dibagian http {}. Isinya adalah domain dari server-server backend, tulisan weight ini nilai barancing server tersebut, dan backup merupakan server cadangan jika sisanya mati.
  • http {
    upstream kaumterbelakang {
    server node1.centos.dz:80 weight=3;
    server node2.centos.dz:80;
    server node3.centos.dz:80 backup;
    }

  • Dan edit beberapa bagian di server {} juga ada yang ditambahkan.
  •  server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name www.centos.dz;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;

    location / {
    proxy_pass http://kaumterbelakang/;
    }


Aktifkan layanan nginx dan juga enable agar langsung berjalan ketika server dinyalakan.
[root@dz-nginx-ct ~]# systemctl start nginx
[root@dz-nginx-ct ~]# systemctl enable nginx

Node1

Server ini merupakan server backend konfigurasi server hanya menginstall nginx biasa kemudian diisi dengan beberapa konten website.pertama konfigurasi IP Address agar dapat terhubung dengan jaringan :
[root@dz-nginx-node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.41
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=192.168.56.40
DNS2=8.8.8.8

EPEL Repo

Karena nginx hanya ada direpositori EPEL maka kita perlu mengaktifkan repo epel pada server ini. jalankan perintah-perintah dibawah ini. Kita install wget untuk mendownload paket epel nantinya :
[root@dz-nginx-node1 ~]# yum -y install wget
Kemudian kita download paket untuk mengaktifkan epel di situs resminya.
[root@dz-nginx-node1 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
Lalu install repositori epel.
[root@dz-nginx-node1 ~]# rpm -ivh epel-release-7-9.noarch.rpm

Install Nginx

Kita install aplikasi nginx, dengan mengaktifkan repo epel.
[root@dz-nginx-node1 ~]# yum --enablerepo=epel -y install nginx
Kemudian kita jalankan layanan nginx dan juga enable agar langsung aktif ketika server dinyalakan.
[root@dz-nginx-node1 ~]# systemctl start nginx
[root@dz-nginx-node1 ~]# systemctl enable nginx
Buka firewall untuk layanan http agar server dapat diakses dari luar.
[root@dz-nginx-node1 ~]# firewall-cmd --permanent --add-port=80/tcp
[root@dz-nginx-node1 ~]# firewall-cmd --permanent --add-port=443/tcp
[root@dz-nginx-node1 ~]# firewall-cmd --reload
Kemudian kita edit file HTML yang ada di direktori /usr/share/nginx/index.html.
[root@dz-nginx-node1 ~]# rm /usr/share/nginx/html/index.html 
rm: remove regular file ‘/usr/share/nginx/html/index.html’? y
[root@dz-nginx-node1 ~]# nano /usr/share/nginx/html/index.html
  • Isi file index.html dengan beberapa html.
  • <H1>NODE1.CENTOS.DZ</H1>
    <h2>Dzikra Fathin</h2>

Node2

Server ini merupakan server backend konfigurasi server hanya menginstall nginx biasa kemudian diisi dengan beberapa konten website.pertama konfigurasi IP Address agar dapat terhubung dengan jaringan :
[root@dz-nginx-node2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.42
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=192.168.56.40
DNS2=8.8.8.8

EPEL Repo

Karena nginx hanya ada direpositori EPEL maka kita perlu mengaktifkan repo epel pada server ini. jalankan perintah-perintah dibawah ini. Kita install wget untuk mendownload paket epel nantinya :
[root@dz-nginx-node2 ~]# yum -y install wget
Kemudian kita download paket untuk mengaktifkan epel di situs resminya.
[root@dz-nginx-node2 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
Lalu install repositori epel.
[root@dz-nginx-node2 ~]# rpm -ivh epel-release-7-9.noarch.rpm

Install Nginx

Kita install aplikasi nginx, dengan mengaktifkan repo epel.
[root@dz-nginx-node2 ~]# yum --enablerepo=epel -y install nginx
Kemudian kita jalankan layanan nginx dan juga enable agar langsung aktif ketika server dinyalakan.
[root@dz-nginx-node2 ~]# systemctl start nginx
[root@dz-nginx-node2 ~]# systemctl enable nginx
Buka firewall untuk layanan http agar server dapat diakses dari luar.
[root@dz-nginx-node2 ~]# firewall-cmd --permanent --add-port=80/tcp
[root@dz-nginx-node2 ~]# firewall-cmd --permanent --add-port=443/tcp
[root@dz-nginx-node2 ~]# firewall-cmd --reload
Kemudian kita edit file HTML yang ada di direktori /usr/share/nginx/index.html.
[root@dz-nginx-node2 ~]# rm /usr/share/nginx/html/index.html 
rm: remove regular file ‘/usr/share/nginx/html/index.html’? y
[root@dz-nginx-node2 ~]# nano /usr/share/nginx/html/index.html
  • Isi file index.html dengan beberapa html.
  • <H1>NODE2.CENTOS.DZ</H1>
    <h2>Dzikra Fathin</h2>

Node3

Server ini merupakan server backend konfigurasi server hanya menginstall nginx biasa kemudian diisi dengan beberapa konten website.pertama konfigurasi IP Address agar dapat terhubung dengan jaringan :
[root@dz-nginx-node3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.43
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=192.168.56.40
DNS2=8.8.8.8

EPEL Repo

Karena nginx hanya ada direpositori EPEL maka kita perlu mengaktifkan repo epel pada server ini. jalankan perintah-perintah dibawah ini. Kita install wget untuk mendownload paket epel nantinya :
[root@dz-nginx-node3 ~]# yum -y install wget
Kemudian kita download paket untuk mengaktifkan epel di situs resminya.
[root@dz-nginx-node3 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
Lalu install repositori epel.
[root@dz-nginx-node3 ~]# rpm -ivh epel-release-7-9.noarch.rpm

Install Nginx

Kita install aplikasi nginx, dengan mengaktifkan repo epel.
[root@dz-nginx-node3 ~]# yum --enablerepo=epel -y install nginx
Kemudian kita jalankan layanan nginx dan juga enable agar langsung aktif ketika server dinyalakan.
[root@dz-nginx-node3 ~]# systemctl start nginx
[root@dz-nginx-node3 ~]# systemctl enable nginx
Buka firewall untuk layanan http agar server dapat diakses dari luar.
[root@dz-nginx-node3 ~]# firewall-cmd --permanent --add-port=80/tcp
[root@dz-nginx-node3 ~]# firewall-cmd --permanent --add-port=443/tcp
[root@dz-nginx-node3 ~]# firewall-cmd --reload
Kemudian kita edit file HTML yang ada di direktori /usr/share/nginx/index.html.
[root@dz-nginx-node3 ~]# rm /usr/share/nginx/html/index.html 
rm: remove regular file ‘/usr/share/nginx/html/index.html’? y
[root@dz-nginx-node3 ~]# nano /usr/share/nginx/html/index.html
  • Isi file index.html dengan beberapa html.
  • <H1>NODE3.CENTOS.DZ</H1>
    <h2>Dzikra Fathin</h2>
Kita testing mengakses server controller.
  • Saat pertama kali.
  • Yang kedua kalinya.
  • Kita coba matikan server node1 dan node2

  • [root@dz-nginx-node1 ~]# init 0

    [root@dz-nginx-node2 ~]# init 0

    Dan kemudian kita coba akses kembali web servernya.


Demikianlah Artikel [Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7

Sekianlah artikel [Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7 kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel [Lab 8.19] Reverse Proxy load balance di Nginx pada CentOS 7 dengan alamat link https://anothers-stuff.blogspot.com/2017/05/lab-819-reverse-proxy-load-balance-di.html

Related Posts :

close
==Close==