Buyukweb
Nginx Web Sunucusu: Kurulum, Konfigürasyon ve WordPress Rehberi

Nginx Web Sunucusu: Kurulum, Konfigürasyon ve WordPress Rehberi

Nginx web sunucusunu nasıl kurar ve yapılandırırsınız? Nginx site bloğu, SSL yapılandırması, WordPress için Nginx ayarları ve performans optimizasyonu rehberi.

Büyükweb Teknik Ekibi14 Ekim 20247 dakika okuma

Nginx Web Sunucusu: Kurulum, Konfigürasyon ve WordPress Rehberi

Nginx (okunuşu: engine-x), yüksek performanslı, düşük bellek kullanımlı bir web sunucusu ve ters proxy'dir. Dünya genelindeki web sunucularının yaklaşık %30'unu Nginx oluşturmaktadır. Apache'ye kıyasla özellikle yüksek eş zamanlı bağlantılarda çok daha iyi performans gösterir.

Nginx vs Apache

Özellik Nginx Apache
Mimari Asenkron, event-driven İş parçacığı/süreç tabanlı
Eş zamanlı bağlantı Çok iyi Orta
Bellek kullanımı Düşük Yüksek
Statik dosya Çok hızlı Hızlı
.htaccess Desteklemez Destekler
Dinamik içerik PHP-FPM ile mod_php veya PHP-FPM
Yapılandırma Blok tabanlı Direktif tabanlı

Nginx Kurulumu

AlmaLinux / CentOS

dnf install nginx
systemctl enable --now nginx
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Ubuntu / Debian

apt update
apt install nginx
systemctl enable --now nginx
ufw allow 'Nginx Full'

Sürüm ve Durum Kontrolü

nginx -v                    # Sürüm
nginx -V                    # Derleme seçenekleri
systemctl status nginx      # Servis durumu
nginx -t                    # Konfigürasyon testi

Nginx Dizin Yapısı

/etc/nginx/
├── nginx.conf              → Ana konfigürasyon
├── conf.d/                 → Ek konfigürasyonlar
├── sites-available/        → Mevcut siteler (Ubuntu)
└── sites-enabled/          → Aktif siteler (symlink)

/var/log/nginx/
├── access.log              → Erişim logları
└── error.log               → Hata logları

/var/www/html/              → Varsayılan web dizini

Temel Nginx Konfigürasyonu

nginx.conf Optimizasyonu

worker_processes auto;           # CPU çekirdek sayısı
worker_rlimit_nofile 65535;

events {
    worker_connections 1024;     # Bağlantı başına
    multi_accept on;
    use epoll;
}

http {
    # Mime types
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    # Temel optimizasyon
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;

    # Gzip sıkıştırma
    gzip on;
    gzip_vary on;
    gzip_min_length 1000;
    gzip_types text/plain text/css application/json application/javascript;

    # Güvenlik başlıkları
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;

    # Log format
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent"';

    include /etc/nginx/conf.d/*.conf;
}

Server Block (Virtual Host) Oluşturma

/etc/nginx/conf.d/siteniz.com.conf:

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

    root /var/www/siteniz.com/public;
    index index.php index.html;

    # PHP-FPM
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # Statik dosyalar
    location ~* \.(jpg|jpeg|png|gif|webp|css|js|ico|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    # Logs
    access_log /var/log/nginx/siteniz.com.access.log;
    error_log /var/log/nginx/siteniz.com.error.log;
}

Konfigürasyonu test ve uygula:

nginx -t
systemctl reload nginx

HTTPS / SSL Konfigürasyonu

Let's Encrypt ile SSL (Certbot)

# Certbot kurulumu (Ubuntu)
apt install certbot python3-certbot-nginx

# SSL sertifikası al
certbot --nginx -d siteniz.com -d www.siteniz.com

# Test modu
certbot --nginx --dry-run -d siteniz.com

Manuel SSL Konfigürasyonu

server {
    listen 443 ssl http2;
    server_name siteniz.com www.siteniz.com;

    ssl_certificate /etc/letsencrypt/live/siteniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/siteniz.com/privkey.pem;

    # SSL optimizasyonu
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    # HSTS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    root /var/www/siteniz.com/public;
    # ... diğer ayarlar
}

# HTTP'yi HTTPS'e yönlendir
server {
    listen 80;
    server_name siteniz.com www.siteniz.com;
    return 301 https://$server_name$request_uri;
}

WordPress için Nginx Konfigürasyonu

server {
    listen 443 ssl http2;
    server_name siteniz.com www.siteniz.com;

    ssl_certificate /etc/letsencrypt/live/siteniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/siteniz.com/privkey.pem;

    root /var/www/wordpress;
    index index.php;

    # WordPress permalink desteği
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP-FPM
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
    }

    # wp-admin için HTTPS zorunlu
    location /wp-admin {
        try_files $uri $uri/ /index.php?$args;
    }

    # XML-RPC engelle (brute force önlemi)
    location = /xmlrpc.php {
        deny all;
    }

    # Gizli dosyalara erişimi engelle
    location ~ /\. {
        deny all;
    }

    # Statik dosyalar için önbellekleme
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp|woff2)$ {
        expires 1y;
        add_header Cache-Control "public";
        access_log off;
    }
}

Nginx Yeniden Başlatma

nginx -t                   # Konfigürasyon testi (YENİ KURAL ÖNCE TEST!)
systemctl reload nginx     # Sıcak yeniden yükleme (bağlantı kesmeden)
systemctl restart nginx    # Tam yeniden başlatma

Büyükweb Hosting ve Nginx

Büyükweb Plesk hosting paketlerinde Nginx web sunucusu kullanılmaktadır. VDS çözümlerimizde de Nginx kurulumu ve yapılandırması için tam root erişimi sunulmaktadır.

Sonuç

Nginx, yüksek performanslı web uygulamaları için Apache'ye güçlü bir alternatiftir. Doğru konfigürasyon ile WordPress dahil tüm web uygulamalarını verimli biçimde servis eder. SSL/HTTPS yapılandırması, gzip sıkıştırma ve statik dosya önbelleği ile birleştirildiğinde çok yüksek performans elde edilir.


Sunucu Guvenligi En Iyi Uygulamalar

Sunucu guvenligi surekli dikkat gerektiren bir surectir.

Guvenlik Duvari

UFW veya firewalld ile yalnizca gerekli portlari acin. SSH, HTTP, HTTPS disindaki portlari kapatin. IP whitelist kullanin.

Log Analizi

fail2ban ile basarisiz giris denemelerini otomatik engelleyin. Logwatch ile gunluk raporlar olusturun. ELK Stack ile merkezi log yonetimi kurun.

Kullanici Yonetimi

Her yonetici icin ayri hesap, root kullanmayin. sudo ile yetki verin. SSH anahtar kimlik dogrulamayi zorunlu kilin.

Dosya Butunlugu

AIDE veya Tripwire ile degisiklikleri izleyin. /tmp noexec ile mount edin. chroot ile izolasyon saglayin.

Yedekleme

3-2-1 kuralini uygulayin. Yedekleri test edin. Ransomware icin offline kopya tutun.

Sunucu Izleme

Zabbix, Prometheus+Grafana veya Netdata ile izleme yapin. Alarm kurallari tanimlayin. Uptime monitoring icin UptimeRobot kullanin. Kapasite planlamasi yaparak gelecekteki ihtiyaclari onceden belirleyin.

Sik Sorulan Sorular

Sunucum hacklendi ne yapmaliyim?

Izole edin, loglari inceleyin, temiz yedekten geri yukleyin, parolalari degistirin.

Restart oncesi ne yapmaliyim?

Aktif kullanicilari kontrol edin, servisleri kaydedin, restart sonrasi dogrulayin.

Sonuc

Sunucu guvenligi katmanli yaklasim gerektirir. Yukardaki uygulamalari sistematik olarak hayata gecirin. Buyukweb 7/24 destek ekibi yardimci olabilir.

Sunucu Bakim Takvimi

Duzenli bakim sunucu sagliginin anahtaridir:

Gunluk

  • Log dosyalarini kontrol edin
  • Disk kullanimini izleyin
  • Yedeklerin basarisini dogrulayin
  • Guvenlik uyarilarini inceleyin

Haftalik

  • Guvenlik guncellemelerini uygulayin
  • Veritabani optimizasyonu calistirin
  • Performans metriklerini analiz edin

Aylik

  • Tam sistem yedegi alin ve test edin
  • Kullanici hesaplarini gozden gecirin
  • SSL sertifika surelerini kontrol edin
  • Kapasite planlama degerlendirmesi yapin

Yillik

  • Felaket kurtarma tatbikati yapin
  • Donanim yasam dongusu degerlendirmesi
  • Guvenlik denetimi yapin

Sunucu Migrasyon Rehberi

  1. Mevcut sunucu envanterini cikartin
  2. Yeni sunucuyu hazirlayin ve yapilandirin
  3. Verileri rsync ile senkronize edin
  4. DNS TTL degerini dusurrun
  5. Son senkronizasyonu yapin ve servisleri baslatin
  6. DNS kayitlarini guncelleyin
  7. Eski sunucuyu bir sure yedek tutun

Turkiye'de Hosting Sektoru 2025-2026

Sektorel Trendler

Turkiye hosting pazari hizla buyumektedir. E-ticaretin genislemesi, dijitallesme calismalarI ve uzaktan calisma trendi hosting talebini artirmaktadir. NVMe SSD, HTTP/3 ve edge computing gibi teknolojiler hosting performansini yeni seviyelere tasimaktadir.

Dikkat Edilmesi Gerekenler

Hosting sektoru rekabetci bir pazardir. Dusuk fiyat vaat eden ancak altyapı kalitesinden odun veren firmalardan kacinin. Gizli maliyet, yenileme fiyat artisi ve yetersiz destek en sik karsilasilan sorunlardir.

Hosting Firmasi Secim Kriterleri

  1. Veri merkezi lokasyonu: Turkiye'de veri merkezi olan firmalari tercih edin
  2. Uptime garantisi: Minimum %99.5, ideal %99.8+
  3. Teknik destek: 7/24 Turkce destek zorunlu
  4. Guvenlik: DDoS korumasi, SSL, WAF dahil olmali
  5. Yedekleme: Gunluk otomatik yedekleme olmali
  6. Olceklenebilirlik: Ihtiyac artiginda kolayca yukseltme yapilabilmeli
  7. Musteri yorumlari: Gercek kullanici deneyimlerini arastirin

Buyukweb 2009'dan beri bu kriterlerin tumunu karsilayarak 5.200+ musteriye guvenilir hosting hizmeti sunmaktadir. Sorulariniz icin 0850 302 60 70 numarasini arayabilir veya destek@buyukweb.com adresine yazabilirsiniz.

Sik Yapilan Hosting Hatalari

Hosting secimi ve yonetiminde en sik karsilasilan hatalar:

1. Sadece Fiyata Bakmak

En ucuz hosting her zaman en iyi secim degildir. Performans, guvenlik ve destek kalitesi fiyattan daha onemlidir. Dusuk maliyetli hostinglerde yenileme fiyatlari genellikle cok daha yuksektir.

2. Yedekleme Almamak

Otomatik yedekleme olsa bile, onemli degisikliklerden once manuel yedek almak hayati onem tasir. Yedeklerin geri yuklenebilirligini test etmeyen sirketler veri kaybi yasadiginda ciddi sorunlarla karsilasir.

3. Guncellemeleri Ertelemek

WordPress, eklentiler ve isletim sistemi guncellemelerini ertelemek guvenlik aciklarına davetiye cikarir. Otomatik guvenlik guncellemeleri yapilandirmak en temel onlemdir.

4. SSL Kullanmamak

Hala SSL sertifikasi olmayan web siteleri mevcut. SSL olmadan Google siralama duser, ziyaretci guveni azalir ve veri guvenligi tehlikeye girer. Ucretsiz Let's Encrypt sertifikasi bile yeterlidir.

5. Kaynak Planlamasi Yapmamak

Trafik artisina hazirliksiz yakalanmak, sitenizin cokmesine neden olabilir. Trafik trendlerini izleyin ve ihtiyac halinde kaynakları zamaninda artirin.

Etiketler:

#wordpress#nginx#kurulum rehberi#sunucu#server yönetimi#sistem yönetimi

Bu yazıyı paylaş