Ana içeriğe geç

Nginx Kurulumu: WordPress Sitenizi Apache'den Nginx'e Taşıma

Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde, Apache üzerinde çalışan bir WordPress sitesini Nginx ve PHP-FPM mimarisine taşımayı öğreneceksiniz.
Amaç, daha düşük kaynak kullanımı ve yüksek trafik dayanımı elde etmektir.


🧠 Teknik Özet

Ana Teknik Konu:
Ubuntu sunucuda WordPress’i Apache’den Nginx’e geçirme.

Çözülen Problem:
Apache’nin yüksek trafikte artan kaynak tüketimi.

İzlenen Adımlar:

  • Nginx ve PHP-FPM kurulumu
  • PHP-FPM güvenlik ayarları
  • Nginx server block yapılandırması
  • Apache servisinin devreden çıkarılması

1️⃣ Nginx ve PHP-FPM Kurulumu

sudo apt-get update
sudo apt-get install nginx php5-fpm
  • Bu komut Nginx web sunucusunu ve PHP işleyicisini kurar.

2️⃣ PHP-FPM Güvenlik Yapılandırması


sudo nano /etc/php5/fpm/php.ini
  • Bu dosya PHP çalışma davranışlarını düzenlemek için açılır.


cgi.fix_pathinfo=0
  • Bu ayar yanlış PHP dosyalarının çalıştırılmasını engeller.


sudo nano /etc/php5/fpm/pool.d/www.conf
  • Bu dosya PHP-FPM’in Nginx ile bağlantı yöntemini belirler.


listen = /var/run/php5-fpm.sock
  • Bu ayar PHP-FPM’in socket üzerinden daha hızlı iletişim kurmasını sağlar.


sudo service php5-fpm restart
  • Bu komut PHP-FPM yapılandırma değişikliklerini aktif eder.

3️⃣ Nginx Sunucu Bloğu (Server Block) Oluşturma


sudo nano /etc/nginx/sites-available/default
  • Bu dosya Nginx’in varsayılan site yapılandırmasını açar.


server {
listen 80;
root /var/www;
index index.php index.html index.htm;

server_name rabisu.cloud www.rabisu.cloud;

location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

location ~ /\. {
deny all;
}
}
  • Bu yapılandırma WordPress için güvenli ve optimize edilmiş Nginx kuralları tanımlar.

4️⃣ Apache'den Nginx'e Geçiş

1. Apache çalışırken Nginx 80 portunu kullanamaz.


sudo service apache2 stop
sudo service nginx start
  • Bu komut Apache’yi durdurur ve Nginx’i devreye alır.

5️⃣ Apache Paketlerini Kaldırma (Opsiyonel)


sudo apt-get remove apache2*
  • Bu komut Apache ve ilişkili paketleri sistemden kaldırır.


sudo apt-get autoremove
  • Bu komut artık kullanılmayan bağımlılıkları temizler.

❓ Sıkça Sorulan Sorular (SSS)

1. Nginx’e geçince sitem hızlanır mı? Yüksek eşzamanlı trafikte belirgin performans artışı sağlar.

2. .htaccess dosyaları çalışır mı? Hayır, kurallar Nginx yapılandırmasına taşınmalıdır.

3. PHP-FPM neden socket kullanıyor? Yerel bağlantılarda daha düşük işlem yükü sağlar.

4. 502 Bad Gateway hatası alırsam? PHP-FPM soket yolu ile Nginx ayarlarının eşleştiğini kontrol edin.


🎯 Sonuç

WordPress siteniz artık Nginx üzerinde daha stabil ve verimli çalışıyor. Bu geçiş, yüksek trafikli projelerde ciddi avantaj sağlar. Bu mimariyi Rabisu Bulut altyapısında güvenle kullanabilirsiniz 🚀