Recep Kaya

System & Network Manager

System Administrator

Systems Engineer

Data scientist

Network Administrator

Cyber Security

Recep Kaya

System & Network Manager

System Administrator

Systems Engineer

Data scientist

Network Administrator

Cyber Security

Blog Post

Ubuntu 24.04 Üzerinde Nginx + HAProxy Kurulumu ve Temel Ayarlar

Kasım 7, 2025 Application
Ubuntu 24.04 Üzerinde Nginx + HAProxy Kurulumu ve Temel Ayarlar

Günümüzde yüksek erişilebilirlik (High Availability – HA) bir lüks değil, bir gerekliliktir. Uygulamaların çevrimiçi kalma süresi (uptime) işletmeler için kritik olduğunda, trafik yönetimi ve yük dağıtım katmanını doğru konumlandırmak büyük önem taşır. Bu yazıda Ubuntu 24.04 üzerinde Nginx ve HAProxy kullanarak temel bir yüksek erişilebilirlik yapısı kuracağız. Hedefimiz, hem ölçeklenebilir hem de esnek bir trafik yönlendirme katmanı oluşturmaktır.

📌 Mimarinin Genel Görünümü

Aşağıdaki mimari, HAProxy’yi yük dengeleyici (Load Balancer), Nginx’i ise backend web sunucusu olarak kullanır.

Olası diyagram alanı:

[Client]


[HAProxy Load Balancer]

├──>[Nginx Server 1]
└──>[Nginx Server 2]

Akışı Görüntülemek için Resime Tıklayın...

1. Sunucu Hazırlığı

Ubuntu 24.04 üzerinde çalıştığımızı varsayıyoruz. Paket listelerini güncelleyerek başlıyoruz:

  • sudo apt update && sudo apt upgrade -y

Zorunlu araçları da ekleyelim:

  • sudo apt install vim curl wget net-tools -y

2. Nginx Kurulumu:

Backend sunucularımız Nginx çalıştıracak.

  • sudo apt install nginx -y

Ardından servis durumunu kontrol edelim:

  • systemctl status nginx

2. Nginx Basit Test Sayfası

/var/www/html/index.html dosyasını düzenleyerek her sunucuya özgü test sayfası oluşturabilirsiniz:

echo “<h1>Nginx Server 1</h1>” | sudo tee /var/www/html/index.html

Bu, HAProxy üzerinden trafikte hangi sunucunun yanıt verdiğini rahatça görmenizi sağlar.

3. HAProxy Kurulumu

Load balancer katmanımız için HAProxy kullanıyoruz:

  • sudo apt install haproxy -y

Kurulumdan sonra servisin otomatik açılması için:

  • sudo systemctl enable haproxy

4. HAProxy Temel Konfigürasyonu

HAProxy yapılandırma dosyası:

  • sudo nano /etc/haproxy/haproxy.cfg

Aşağıdaki örnek, klasik bir round-robin load balancing yapısıdır:

rontend http_front
bind *:80
default_backend nginx_back

backend nginx_back
balance roundrobin
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check

Açıklamalar

  • frontend → Gelen talepleri karşılayan katman

  • backend → Yük dağıtımı yapılan Nginx sunucularının listesi

  • balance roundrobin → Sırayla sunucular arasında trafik dağıtılır

  • check → Sunucu sağlığını kontrol eder

5. HAProxy Logları Aktif Etme

Ubuntu 24.04 üzerinde logların tam çalışması için rsyslog ayarlarını aktif etmek gerekir.

Rsyslog yapılandırması

  • sudo nano /etc/rsyslog.d/49-haproxy.conf

local0.* /var/log/haproxy.log

sudo systemctl restart rsyslog
sudo systemctl restart haproxy

6. HAProxy İstatistik Arayüzü (Opsiyonel Fakat Önerilir)

HAProxy’nin web tabanlı durum ekranını açmak için backend bölümüne aşağıdakini ekleyin:

listen stats
bind :9000
stats enable
stats uri /stats
stats refresh 5s

Ardından tarayıcıda:

http://<HAProxy-IP>:9000/stats

7. Güvenlik ve Firewall Ayarları

UFW veya iptables kullanıyorsanız aşağıdaki portlara izin vermelisiniz:

sudo ufw allow 80/tcp
sudo ufw allow 9000/tcp

8. Test Süreci

Tarayıcınızdan HAProxy’nin IP’sine istek gönderin:

http://<LB-IP>

Sayfa her yenilendiğinde farklı Nginx sunucusundan gelen içerik görmelisiniz:

Nginx Server 1
Nginx Server 2
 
Bu, yük dağıtımının başarıyla çalıştığını gösterir.
 

9. Performans ve Temel İyileştirmeler

Backend’lere daha stabil bağlantılar için:

option httpchk GET /
timeout http-request 10s
timeout connect 5s
timeout client 30s
timeout server 30s

Nginx Tuning (Önerilen Minimum Ayarlar)

sudo nano /etc/nginx/nginx.conf

Aşağıdakileri doğrulayın veya düzenleyin:

worker_processes auto;
worker_connections 4096;
keepalive_timeout 65;
gzip on;

Nginx’i yeniden başlatın:

sudo systemctl restart nginx

10. Sonuç

Bu yazıda Ubuntu 24.04 üzerinde Nginx backend ve HAProxy load balancer kullanarak modern, yüksek erişilebilir bir mimari kurduk. Bu yapı, özellikle web tabanlı uygulamalarda hem ölçeklenebilirlik hem de kesintisiz hizmet sağlamak için oldukça etkili bir çözümdür.

Tags: