AlmaLinux ve Ubuntu üzerinde Nginx Reverse Proxy ile Apache hibrit kurulumu, port 8080 yönlendirmesi, 502 Bad Gateway arızaları ve mod_remoteip IP onarımı.
Nginx Reverse Proxy + Apache hibrit mimarisi, Nginx'in yüksek eşzamanlı statik dosya (resim, CSS, JS) işleme hızını Apache'nin güçlü dinamik PHP ve .htaccess uyumluluğu ile birleştiren en köklü kurumsal web sunucusu modelidir. Gelen tüm HTTP/HTTPS isteklerini port 80/443 üzerinde Nginx karşılar; statik içerikleri doğrudan bellekten servis ederken, dinamik PHP isteklerini arka planda çalışan Apache'ye (port 8080) iletir. Bu rehberde Nginx + Apache hibrit kurulumunu ve 502 Bad Gateway çözümlerini inceliyoruz.
1. Donanım ve Sistem Gereksinimleri Matrisi
| Parametre / Donanım | Minimum (Test / Dev) | Önerilen (Production) | Yüksek Trafik / Kurumsal | Mühendislik Notu |
|---|---|---|---|---|
| İşletim Sistemi | AlmaLinux 8/9 veya Ubuntu 22.04 | AlmaLinux 9 Minimal 64-bit | Ubuntu 22.04 LTS Server | Minimal Linux sunucu. |
| RAM (Bellek) | 1 GB | 2 GB - 4 GB | 8 GB+ ECC RAM | Nginx microcaching için yeterli RAM ayrılmalıdır. |
| CPU Çekirdek | 1 vCPU | 2 - 4 vCPU | 4+ vCPU Dedicated | Apache worker süreçleri için çok çekirdek avantajlıdır. |
| Disk Alanı | 15 GB | 30 GB+ NVMe SSD | 80 GB+ NVMe SSD | Nginx proxy cache dizini için disk alanı. |
| Bağlantı Mimarisi | Port 80/443 (Nginx) | Reverse Proxy Pass | Unix Socket / Port 8080 | İki servisin portları çakışmamalıdır. |
2. Adım Adım Kurulum ve Yapılandırma Kılavuzu
Apache Web Sunucusunu Kurun ve Portunu 8080 Olarak Değiştirin
Apache'yi arka plan web sunucusu olarak yapılandırın:
# AlmaLinux:
dnf install httpd mod_ssl -y
# Apache dinleme portunu 80 yerine 8080 yapın:
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
systemctl enable httpd
systemctl restart httpd
Nginx Web Sunucusunu Kurun ve Reverse Proxy Kuralı Tanımlayın
Nginx'i kurup istekleri Apache'ye iletecek ters vekil bloğunu oluşturun:
dnf install nginx -y
cat << 'EOF' > /etc/nginx/conf.d/proxy.conf
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
# Statik dosyaları Nginx doğrudan servis etsin:
location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|woff2)$ {
root /var/www/html;
expires 30d;
add_header Cache-Control "public, no-transform";
}
}
EOF
systemctl enable nginx
systemctl restart nginx
3. Kurulumda En Sık Karşılaşılan Kritik Hatalar ve Kesin Çözümler
Nginx 502 Bad Gateway / Connection Refused 127.0.0.1:8080
🛠️ Kesin Çözüm Komutları:
# SELinux ağ bağlantı iznini açın:
setsebool -P httpd_can_network_connect 1
systemctl restart httpd
systemctl restart nginx
4. Production Güvenlik Sıkılaştırma ve Performans Ayarları
Apache mod_remoteip Kurulumu (Gerçek Ziyaretçi IP'sini Görme)
Apache loglarında 127.0.0.1 yerine gerçek ziyaretçi IP'sinin görünmesini sağlayın:
# /etc/httpd/conf.modules.d/00-remoteip.conf içine ekleyin:
echo "RemoteIPHeader X-Forwarded-For" >> /etc/httpd/conf/httpd.conf
echo "RemoteIPInternalProxy 127.0.0.1" >> /etc/httpd/conf/httpd.conf
systemctl restart httpd
5. Sıkça Sorulan Sorular (Mühendislik SSS)
Nginx Reverse Proxy ile .htaccess rewrite kuralları çalışmaya devam eder mi?
Evet. Tüm dinamik istekler arka planda Apache'ye iletildiği için WordPress, Laravel veya özel PHP yazılımlarındaki tüm .htaccess kuralları aynen çalışır.
Kurumsal Sunucu & Panel Danışmanlığı
LiteSpeed, CyberPanel, Nginx, MariaDB ve Redis optimizasyonu, felaket kurtarma ve yüksek erişilebilirlik (HA) mimarilerinde Kırıkkale Yazılım sistem mühendisleri 7/24 yanınızda.
Sıkça Sorulan Sorular
Kırıkkale İşletmeniz İçin Web Sitesi & SEO Teklifi Alın
Google ilk sayfa hedefli, ultra hızlı Pure PHP mimarili kurumsal web sitesi ve e-ticaret altyapısıyla bölgenizdeki müşterilerinize anında ulaşın.
Okuyucu Yorumları (0)
Bu makale için henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Gönderin