Nginx ile tanışalım. Eğer hızlı ve verimli bir web sunucusu arayışındaysanız, doğru yerdesiniz. Linux işletim sistemi üzerine Nginx kurulumu ve yapılandırmasını anlatacağım bu yazı, hem yeni başlayanlar için hem de deneyimli kullanıcılar için oldukça faydalı olacak. Hadi başlayalım!
Nginx Nedir?
Nginx (Okunuşu: "Engine-X"), yüksek performanslı, hafif, açık kaynaklı bir web sunucusudur. Bu yazılım, yalnızca web sunucusu olarak değil, aynı zamanda ters proxy (reverse proxy) sunucusu, yük dengelemesi ve HTTP önbellekleme (caching) gibi görevlerde de kullanılır. Hızlı ve esnek yapısıyla, özellikle yoğun trafik alan siteler için mükemmeldir.
Adım 1: Nginx Kurulumu
Linux üzerinde Nginx kurulumuna geçmeden önce, sisteminizin güncel olduğundan emin olmanız gerekir. Güncellemeyi yapmak için şu komutları kullanabilirsiniz:
sudo apt update && sudo apt upgrade
Bu işlem tamamlandıktan sonra, Nginx'i yüklemeye başlıyoruz. Debian tabanlı sistemler (Ubuntu gibi) için şu komutu kullanabilirsiniz:
sudo apt install nginx
Eğer CentOS veya RHEL kullanıyorsanız, şu komutları takip edin:
sudo yum install nginx
Kurulum tamamlandığında, Nginx servisinin çalışıp çalışmadığını kontrol etmek için şu komutu yazın:
systemctl status nginx
Eğer her şey yolundaysa, “active (running)” mesajını görmelisiniz.
Adım 2: Nginx'i Başlatma ve Otomatik Başlatma Ayarı
Nginx'i başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl start nginx
Nginx’in sistem başlatıldığında otomatik olarak çalışmasını sağlamak için:
sudo systemctl enable nginx
Adım 3: Nginx'i Yapılandırma
Nginx'i kurduktan sonra, en önemli adım yapılandırma kısmıdır. Nginx yapılandırma dosyaları genellikle `/etc/nginx/` dizininde bulunur. Ana yapılandırma dosyası `/etc/nginx/nginx.conf` dosyasıdır, ancak siteniz için yapılandırmaları `sites-available` ve `sites-enabled` klasörlerinde tutabilirsiniz.
Öncelikle, varsayılan yapılandırmayı düzenlemek için şu komutu kullanarak dosyayı açın:
sudo nano /etc/nginx/sites-available/default
Burada, `
` kısmını kendi alan adınızla değiştirmeniz gerekecek. Örneğin:
server {
listen 80;
server_name www.orneksite.com orneksite.com;
location / {
root /var/www/html;
index index.html;
}
}
Yukarıdaki kod, Nginx'in 80 portunu dinleyip, gelen istekleri `www.orneksite.com` ve `orneksite.com` alan adları için yönlendirecektir. İlgili klasörde bir `index.html` dosyası olduğunda, bu dosya kullanıcıya gösterilecektir.
Adım 4: Konfigürasyonu Test Etme
Yapılandırma dosyasındaki herhangi bir değişiklikten sonra, Nginx’in doğru çalışıp çalışmadığını test etmek önemlidir. Bunun için şu komutu kullanabilirsiniz:
sudo nginx -t
Eğer her şey doğruysa, aşağıdaki gibi bir mesaj alırsınız:
nginx: configuration file /etc/nginx/nginx.conf test is successful
Adım 5: Nginx'i Yeniden Başlatma
Yapılandırmada değişiklik yaptıktan sonra, Nginx’i yeniden başlatmanız gerekir. Şu komutla bu işlemi gerçekleştirebilirsiniz:
sudo systemctl restart nginx
Bundan sonra, tarayıcınızda alan adınızı yazarak, Nginx’in düzgün çalışıp çalışmadığını kontrol edebilirsiniz.
Adım 6: Güvenlik Duvarı Ayarları
Eğer bir güvenlik duvarı kullanıyorsanız, Nginx’in erişilebilir olması için gerekli izinleri vermelisiniz. UFW (Uncomplicated Firewall) kullanıyorsanız, şu komutları uygulayabilirsiniz:
sudo ufw allow 'Nginx HTTP'
Eğer HTTPS üzerinden de erişim sağlamak istiyorsanız:
sudo ufw allow 'Nginx Full'
Adım 7: Nginx ve SSL Sertifikası (Opsiyonel)
Eğer HTTPS üzerinden güvenli bir bağlantı sağlamak istiyorsanız, SSL sertifikası kurmanız gerekecek. Bunun için Let’s Encrypt’i kullanabilirsiniz. İlk olarak Certbot’u kurarak başlayalım:
sudo apt install certbot python3-certbot-nginx
Daha sonra, Nginx için SSL sertifikası almak için şu komutu yazın:
sudo certbot --nginx
Bu komut, SSL sertifikasını otomatik olarak alır ve Nginx’i yapılandırarak HTTPS desteğini etkinleştirir.
Adım 8: Nginx’i İzleme
Sunucunuzun düzgün çalıştığından emin olmak için Nginx’in log dosyalarını kontrol edebilirsiniz. Günlükler genellikle `/var/log/nginx/` dizininde bulunur.
İstekleri görmek için:
sudo tail -f /var/log/nginx/access.log
Hataları görmek için:
sudo tail -f /var/log/nginx/error.log
Sonuç
Ve işte bu kadar! Artık Nginx web sunucusu Linux üzerinde kurulu ve yapılandırılmış olmalı. Nginx’in esnekliği, hız ve güvenlik açısından oldukça güçlü bir seçenek olduğunu göreceksiniz. Yüksek trafiğe sahip web siteleri ve uygulamalar için mükemmel bir tercihtir. Yapılandırmalarla ilgili daha fazla detay öğrenmek ve sunucunuzu özelleştirmek için Nginx dokümantasyonuna göz atabilirsiniz.