Bu makalede nginx proxy serveri nasıl load balancer olarak kullanabileceğimizi yazmaya çalışacağım. nginx ile gelen yoğun isteklerin farklı sunuculardan cevaplanmasını istiyorsak nginxte ayarlamalar yapmak zorundayız. örnek olarak 192.168.100.100-101-102-103 olarak 4dört adet sunucunun gelen isteklere cevap vermesini sağlayacağız.

Öncelikle conf dosyamızda gerekli düzenlemeleri yapıyoruz. Proxy ayarlarını yaptıktan sonra bir upstream tanımlaması yaparak yedek sunucuları tanımlıyoruz.Aşağıdaki örnek load balancer olmadan önceki halidir.

server {
        server_name bilgimedya.com.tr;

        location / {

                #try_files $uri $uri/ =404;
                proxy_pass http://192.168.100.100;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                keepalive_timeout 10m;
                proxy_connect_timeout  600s;
                proxy_send_timeout  600s;
                proxy_read_timeout  600s;
                fastcgi_send_timeout 600s;
                fastcgi_read_timeout 600s;

        } #location tag

Şimdi load balancer ekliyoruz.

    upstream bilgimedya{
        server 192.168.100.100;
        server 192.168.100.101;
        server 192.168.100.102;
        server 192.168.100.103;
    }
server {
        server_name bilgimedya.com.tr;

        location / {

                #try_files $uri $uri/ =404;
                proxy_pass http://bilgimedya;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                keepalive_timeout 10m;
                proxy_connect_timeout  600s;
                proxy_send_timeout  600s;
                proxy_read_timeout  600s;
                fastcgi_send_timeout 600s;
                fastcgi_read_timeout 600s;

        } #location tag

bu şekliye ayarlamalarımızı yaptıktan sonra nginx servisimizi yeniden başlatıyoruz ve artık dört sunucudan servisimiz hizmet vermeye hazırdır.

Share: