http://www.geektantra.com/2011/06/using-nginx-as-a-load-balancer/
---------------- IP.Ext 192.168.30.110:80 .->|Apache2 (BES1)| IP.192.168.70.2:8080 IP.Ext xxx.xxx.xxx:80 | ---------------- GW.192.168.70.1 ------------------ | NM.255.255.255.0 Internet |Front-end server|>---. ---------------- ------>> | Running NGinx |>----->|Apache2 (BES2)| IP.192.168.70.3:8080 | (FES) |>---. ---------------- GW.192.168.70.1 ------------------ | NM.255.255.255.0
192.168.70.1 | ---------------- '->|Apache2 (BES3)| IP.192.168.70.4:8080 ---------------- GW.192.168.70.1
FES-Nginx (192.168.70.1) NM.255.255.255.0 apt-get install nginx
nano /etc/nginx/proxy.conf
Setting
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffers 32 4k;
Edit the file
nano /etc/nginx/sites-enabled/default Isi Kode:
upstream lb_units {
server 192.168.70.2:8080 weight=10 max_fails=3 fail_timeout=30s; # BES1
server 192.168.70.3:8080 weight=10 max_fails=3 fail_timeout=30s; # BES2
server 192.168.70.4:8080 weight=10 max_fails=3 fail_timeout=30s; # BES3
}
server {
# Listen on the external interface
listen 192.168.30.110:80;
server_name my.domain-name.com; # nama server disesuaikan
access_log /var/log/nginx/nginx.access.log;
error_log /var/log/nginx/nginx_error.log debug;
location / {
proxy_pass http://lb_units;
# Load balance the URL location "/" to the upstream lb_units
proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } } Reload NGinx /etc/init.d/nginx reload
Install BES1, BES2, dan BES3 sesuai keperluan web server anda
Jangan lupa untuk merubah port http dari 80 ke 8080
Seting Apache di BES
Jangan Lupa untuk merubah port http
nano /etc/apache2/ports.conf
Tambahkan
NameVirtualHost *:8080
Listen 8080 atau
listen 192.168.70.2:8080
ip disesuaian dengan Webserver Apache yang terhung ke Nginx
Restart Apache
/etc/init.d/apache2 restart
Modul yang perlu di Install di Apache adalah
apt-get install libapache2-mod-rpaf
Edit Virtual host server
nano /etc/apache2/sites-available/default
Tambahkan
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.70.1 # IP Nginx
RPAFheader X-Forwarded-For # ditambahkan di belum bisa jalan
</IfModule>
Untuk Ubuntu 12.04
<IfModule mod_rpaf-2.0.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.70.1 # IP Nginx
RPAFheader X-Forwarded-For # ditambahkan di belum bisa jalan
</IfModule>
Ubah Seting dibawah ini
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all # default none
Order allow,deny
allow from all
</Directory>
Tidak ada komentar:
Posting Komentar