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 🚀