cPanel Sunucularda Nginx Proxy ea-nginx Kurulum

Apache’nin tek başına hizmet verdiği cPanel sunucularda trafik arttıkça performans sorunları ortaya çıkabilir. Nginx’i Apache’nin önünde konumlandırmak, istekleri filtreleyip optimize ederek CPU ve RAM kullanımını daha dengeli bir yapıya taşır.

Reverse Proxy Çalışma Mantığı

Kurulum öncesinde sistemin nasıl işlediğini anlamak önemlidir. Klasik sistemde ziyaretçi doğrudan Apache sunucusuna bağlanır. Bizim kuracağımız modelde ise trafiği önce Nginx karşılar. Nginx resim ve benzeri hazır dosyaları direkt sunarken dinamik PHP isteklerini arka planda çalışan Apache birimine gönderir.

Client → Nginx (80/443) → Apache (8080) → PHP-FPM

Bu yapıyı cPanel olmadan doğrudan işletim sistemine kurmayı planlıyorsanız AlmaLinux Üzerinde Apache + Nginx Proxy Kurulumu rehberinden destek alabilirsiniz.

Sunucu Gereksinimleri Listesi

Kurulum öncesi kontrol listemiz şu şekildedir

  • AlmaLinux 8/9 veya CloudLinux 7/8 işletim sistemi
  • cPanel v88 veya daha yeni bir sürüm
  • EasyApache 4 aktifliği ve root SSH yetkisi
  • Sunucuda Engintron veya NginxCP gibi ek yazılımların olmaması

ea-nginx Paketinin Kurulumu

Resmi paket olan ea-nginx ile sunucu mimarisini güncelliyoruz. SSH üzerinden root girişi yaptıktan sonra şu kodu yürüterek paketi sisteme dahil edin.

dnf install ea-nginx

Bu işlem tamamlandığında sistem otomatik olarak Nginx’i yükler, Apache’yi 8080 portuna çeker ve proxy zincirini oluşturur. Ardından, tüm mevcut konfigürasyonların Nginx ile uyumlu hale gelmesi için şu komutu çalıştıralım.

/scripts/ea-nginx config --all

Sistem aktif olduğunda sunucudaki her site hız kazanmış olur. Yeni bir proje başlatmayı düşünüyorsanız CPanel Üzerinden Alt Domain Nasıl Açılır içeriğimiz üzerinden süreci en baştan doğru kurgulayabilirsiniz.

Nginx Manager Ve Kullanıcı Yetkilendirmesi

Yapılandırmayı tamamlamak için hem ana paneli hem de kullanıcı arayüzlerini kontrol ediyoruz. WHM tarafındaki NGINX Manager bölümünde servisi Running statüsünde gördüğümüzden emin olmalıyız. Özel ayar gerektiren hesapları User Settings üzerinden listeden çıkarabiliyoruz. Kullanıcı memnuniyetini artırmak için Feature Manager bölümüne gidip Nginx Manager seçeneğini aktif ederek kullanıcıların kendi yönetim araçlarına ulaşmasını sağlıyoruz.

Dosya Yapısı

Özelleştirme işlemlerini cPanel’in izin verdiği dosya yolları üzerinden yürütüyoruz. Ana ayarların bulunduğu dosya /etc/nginx/conf.d/ea-nginx.conf olarak belirlenmiştir. Kullanıcı bazında farklı kurallar uygulamak için /etc/nginx/conf.d/users/kullaniciadi.conf yolunu kullanmalıyız. Tek bir alan adına özel kural seti eklemek istediğimiz durumlarda ise özel kural alanını oluşturup içine .conf dosyamızı yerleştirerek işlemi sonuçlandırıyoruz.

mkdir -p /etc/nginx/conf.d/users/kullaniciadi/domain.com/
nano /etc/nginx/conf.d/users/kullaniciadi/domain.com/ozel.conf

Dosya içeriğine örnek bir proxy kuralı ekleyelim.

location /api/ {
    proxy_pass http://127.0.0.1:8080;
    proxy_cache_bypass $http_cookie;}

Ayarlar ve Performans

Sunucu bazlı Nginx yapılandırmasını yönetmek için cPanel’in sunduğu resmi JSON dosyasını baz alıyoruz. /etc/nginx/ea-nginx/settings.json dosyasında gerekli değişiklikleri yaparak eşzamanlı bağlantı limitlerini ve zaman aşımı ayarlarını yapılandıralım. Böylece sunucunun çalışma performansını en ince ayrıntısına kadar kontrol edebiliyoruz.

{ "keepalive": "64",
  "keepalive_timeout": "75",
  "keepalive_requests": "500"}

Değişikliklerin ardından konfigürasyonu yeniden oluşturup servisi yeniden başlatalım.

/usr/local/cpanel/scripts/rebuild_nginx_conf
systemctl restart nginx

Micro-Caching Ve Gzip Uygulaması

Yoğun trafik anlarında sistemi korumak için Micro-Caching tekniğini uyguluyoruz. Bu yöntemle dinamik içerikleri 1 saniye gibi çok kısa sürelerle önbelleğe alarak Apache üzerindeki yükü düşürüyoruz. Böylece sunucu kaynakları anlık dalgalanmalardan etkilenmeden stabil kalmaya devam ediyor.

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=microcache:10m max_size=100m inactive=60m;

location / {
    proxy_cache microcache;
    proxy_cache_valid 200 1s;
    proxy_pass http://127.0.0.1:8080;}

Ayrıca veri iletim hızını artırmak için Gzip sıkıştırmayı aktif hale getirelim.

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml;

Güvenlik, SSL ve IP Yönetimi

ea-nginx mimarisinde SSL sertifikaları cPanel aracılığıyla yönetilmeye devam eder ve sistem bunları kendiliğinden algılar. Apache sunucusunun gelen ziyaretçi IP adreslerini şaşırmadan kaydedebilmesi için mod_remoteip modülünün aktifliğini denetliyoruz. Aşağıdaki komut yardımıyla modülün durumunu hemen kontrol edebilirsiniz.

yum install ea-apache24-mod_remoteip

Sık Sorulan Sorular

ea-nginx geçişi sitelerin kapalı kalmasına yol açar mı?

Bu geçiş oldukça hızlıdır. Nginx 80 ve 443 portlarını devraldığı an Apache geri plana geçer. Süreç saniyeler sürdüğü için siteleriniz her zamanki gibi aktif kalmaya devam eder.

Nginx aktifken SSL sertifikalarımı manuel olarak güncellemem gerekir mi?

Nginx, cPanel tarafından oluşturulan SSL dosyalarını otomatik olarak okur ve HTTPS trafiğini yönetir. Sertifika yenileme süreçlerinde ek bir işlem yapmamıza gerek kalmaz.

Nginx devreye girdiğinde Apache modülleri ve .htaccess kuralları çalışmaya devam eder mi?

Nginx bir reverse proxy olarak çalıştığı için istekleri hala Apache işlemektedir. Bu sayede .htaccess üzerindeki yönlendirmeleriniz ve Apache modülleriniz işlevselliğini yitirmez.

Yorum yapın