X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar

Nginx Reverse Proxy Kurulumu (Apache Önünde Kullanım)

AnasayfaHaberiniz Olsun.Nginx Reverse Proxy Kurulumu (Apache Önünde Ku...

Neden Hem Nginx Hem Apache Birlikte Kullanılır?

Klasik bir LAMP (Linux, Apache, MySQL, PHP) sunucusunda Apache hem PHP'yi işler hem de resim, css, js gibi statik dosyaları ziyaretçiye iletir. Ancak Apache her bağlantı için yeni bir süreç açtığı için sanal sunucu üzerinde statik dosyaları dağıtırken bile gereksiz yüksek RAM tüketir. Çözüm; Nginx'i Apache'nin hemen önüne "Ters Vekil" (Reverse Proxy) olarak kurmaktır. Nginx asenkron yapısıyla statik dosyaları milisaniyeler içinde servis ederken, dinamik PHP isteklerini arka planda çalışan Apache'ye (port 8080) paslar. Bu ikili, mükemmel bir performans canavarına dönüşür.

1. Adım: Apache Portunun Değiştirilmesi

Öncelikle Apache'nin varsayılan 80 (HTTP) profilinden çekilip arkada çalışması gerekir. Ubuntu/Debian sistemlerde /etc/apache2/ports.conf dosyasını açın:

Listen 8080

Aynı şekilde sanal konak (virtual host) dosyalarınızdaki <VirtualHost *:80> kısımlarını <VirtualHost *:8080> olarak değiştirin ve Apache'yi yeniden başlatın: sudo systemctl restart apache2

2. Adım: Nginx Kurulumu ve Proxy Ayarları

Boşa çıkan 80. portu devralmak için Nginx'i kuralım:

sudo apt update
sudo apt install nginx -y

Şimdi /etc/nginx/sites-available/default (veya kendi domaininiz) dosyasının içeriğini aşağıdaki Proxy şablonuna göre düzenleyin:

server {
    listen 80;
    server_name alanadiniz.com www.alanadiniz.com;

    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;
    }

    location ~* \.(jpg|jpeg|png|gif|ico|css|js|xml|txt)$ {
        root /var/www/html/alanadiniz;
        expires 30d;
        access_log off;
    }
}

3. Mantığın İşleyişi

Yukarıdaki konfigürasyonda en alttaki location ~* bloğu, şayet istek bir resim veya css dosyasına gelirse Nginx'in bunu direkt klasörden (Apache'ye hiç sormadan) okumasını söyler ve tarayıcıya 30 günlük bir cache süresi ekler. Diğer tüm dinamik istekler (PHP) proxy_pass http://127.0.0.1:8080; kuralıyla arkadaki Apache'ye iletilir.

Ayarları uygulayıp Nginx'i başlatalım: sudo systemctl restart nginx.

Sitenizin trafiği yükseldiğinde sunucu kaynaklarını en verimli şekilde kullanmak bir zorunluluktur. İyibirNet üzerinden alacağınız NVMe SSD diskli VDS Sunucu hizmetlerinizde, dilediğiniz sunucu mimarisini özgürce kurgulayabilirsiniz.


Top