Nginx'de Load Balancing ile myapp profil oluşturma
Nginx üzerinde load balancing (yük dengeleme) yapılandırmak için genellikle bir "upstream" yapılandırması kullanılır. Bu yapılandırma, gelen istekleri bir grup sunucu arasında dengeler ve dağıtır. Profil oluşturma sorunu yaşıyorsanız, aşağıdaki adımlar size rehberlik edebilir:
1. Nginx Load Balancing Yapılandırma Adımları
Adım 1: Nginx Yapılandırma Dosyasını Açın
Nginx yapılandırma dosyanız genellikle /etc/nginx/nginx.conf ya da /etc/nginx/sites-available/default gibi bir yerdedir.
sudo nano /etc/nginx/nginx.conf
Adım 2: "upstream" Yapısını Ekleyin
Yük dengeleme yapılacak sunucuları belirtmek için bir upstream bloğu oluşturun.
http {
upstream myapp {
server 192.168.1.10; # Sunucu 1
server 192.168.1.11; # Sunucu 2
server 192.168.1.12; # Sunucu 3
}
server {
listen 80;
server_name myapp.example.com;
location / {
proxy_pass http://myapp;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
Adım 3: Yük Dengeleme Algoritmalarını Ayarlayın
Nginx, varsayılan olarak round-robin algoritmasını kullanır. Ancak başka algoritmalar da mevcuttur:
Round Robin (Varsayılan): İstekler sırayla sunuculara gönderilir.
upstream myapp {
server 192.168.1.10;
server 192.168.1.11;
}
Least Connections: En az bağlantıya sahip olan sunucuya istek gönderilir.
upstream myapp {
least_conn;
server 192.168.1.10;
server 192.168.1.11;
}
IP Hashing: Aynı IP'den gelen istekler aynı sunucuya yönlendirilir.
upstream myapp {
ip_hash;
server 192.168.1.10;
server 192.168.1.11;
}
Adım 4: Yük Dengeleme Sunucuları İçin Sağlık Kontrolü
Sunucuların sağlık durumunu kontrol etmek için Nginx'in ayrı bir modül kullanmanız gerekebilir. Aşağıda temel bir yapılandırma bulunuyor:
upstream myapp {
server 192.168.1.10;
server 192.168.1.11;
server 192.168.1.12;
# Sunucunun sağlıklı olup olmadığını kontrol eder
server 192.168.1.10 max_fails=3 fail_timeout=30s;
}
Adım 5: Nginx'i Yeniden Başlatın
Yapılandırma dosyanızda herhangi bir hata olmadığından emin olmak için Nginx'in yapılandırmasını test edin.
sudo nginx -t
Her şey doğruysa, Nginx’i yeniden başlatın:
sudo systemctl restart nginx
Olası Sorunlar ve Çözümleri
Erişim Hatası: Eğer profil oluştururken Nginx’e erişim hatası alıyorsanız, izinler ve yetkiler doğru yapılandırılmamış olabilir. Gerekli yapılandırma dosyalarına yazma izniniz olup olmadığını kontrol edin.
Yapılandırma Testi Başarısız: nginx -t komutunda bir hata mesajı alırsanız, yapılandırma dosyanızda yazım hatası olup olmadığını kontrol edin.
Proxy Ayarları: Proxy geçişi sırasında gerekli başlıkların (proxy_set_header) düzgün ayarlandığından emin olun.
HATA !!
%yorumYapanIsim%
%tarih%%yorumMetni%

%yorumYapanIsim%
%tarih%@%yorumlanan% %yorumMetni%