Giriş: Nginx 404 Hatası ile Karşılaştınız mı?
Bir sabah, sitenizi kontrol ederken bir anda "404 Not Found" hatası ile karşılaştınız. Tam olarak ne olduğunu anlamaya çalışıyorsunuz, çünkü site daha önce mükemmel şekilde çalışıyordu. Bu sorun, Nginx üzerinde bir web sunucusu çalıştıran pek çok kişi için oldukça yaygın bir durum. 404 hatası, çoğunlukla ziyaretçilerin belirli bir sayfaya erişmek istediklerinde "Sayfa Bulunamadı" anlamına gelir. Ama bu hatayı almanızın arkasında çok çeşitli sebepler olabilir. Neyse ki, bu yazıda size 404 hatasını çözmek için uygulayabileceğiniz adımları göstereceğiz. Hadi başlayalım!
1. Nginx 404 Hatası Nedir?
Öncelikle, 404 hatasının ne olduğunu net bir şekilde anlayalım. Bir web sayfasına erişmeye çalıştığınızda, ancak sunucu o sayfayı bulamazsa, web sunucusu size "404 Not Found" yanıtı gönderir. Bu, genellikle URL'yi yanlış yazmak veya sayfanın silinmiş olması gibi durumlarda meydana gelir. Ancak, bu hata sadece kullanıcı hatasından kaynaklanmaz. Nginx sunucusunda yanlış yapılandırmalar veya eksik dosyalar da 404 hatasına yol açabilir.
2. Nginx Yapılandırma Dosyasını Kontrol Edin
İlk adımda, Nginx’in yapılandırma dosyalarını kontrol etmek gerekir. Nginx yapılandırma dosyaları, sunucunuzun nasıl davranacağını belirleyen en önemli dosyalardır. Hatalı yapılandırmalar, 404 hatasına neden olabilir. Bu nedenle, Nginx yapılandırma dosyalarını dikkatlice gözden geçirin.
Yapılandırma dosyasını düzenlemek için aşağıdaki komutu kullanabilirsiniz:
sudo nano /etc/nginx/nginx.conf
Dosyada "server" bloğu içerisinde belirtilen kök dizinlerin doğru olduğundan emin olun. Eğer kök dizini yanlış belirlemişseniz, Nginx doğru dosyayı bulamayacak ve 404 hatası verecektir.
3. Dosya İzinlerini Kontrol Edin
Bir diğer yaygın neden de dosya izinleridir. Web sunucusu kullanıcısının (genellikle "www-data" kullanıcı adıyla) doğru izinlere sahip olup olmadığını kontrol etmeniz gerekir. Eğer doğru izinler yoksa, Nginx gerekli dosyaları bulamayacak ve 404 hatası gösterecektir.
Dosya izinlerini kontrol etmek için şu komutu kullanabilirsiniz:
ls -l /path/to/your/web/directory
Eğer dosya izinlerinde bir sorun olduğunu düşünüyorsanız, aşağıdaki komut ile izinleri düzeltebilirsiniz:
sudo chown -R www-data:www-data /path/to/your/web/directory
sudo chmod -R 755 /path/to/your/web/directory
Bu komutlar, Nginx'in doğru dosyaya erişmesini sağlar ve 404 hatasını engeller.
4. .htaccess ve URL Yönlendirmelerini Kontrol Edin
Eğer Apache'den Nginx’e geçiş yaptıysanız ve eski .htaccess dosyalarınızı kullandıysanız, Nginx bu dosyaları işleyemez. .htaccess dosyasındaki yönlendirmeler doğru şekilde Nginx yapılandırmasına aktarılmamışsa, 404 hatası meydana gelir.
Nginx yapılandırmasında URL yönlendirmelerini eklemek için aşağıdaki gibi bir kod kullanabilirsiniz:
server {
listen 80;
server_name example.com;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
}
Burada, "try_files" direktifi Nginx'in, talep edilen URL'yi önce dizinde aramasını ve eğer bulamazsa 404 hata sayfası döndürmesini sağlar.
5. Nginx’i Yeniden Başlatın
Yapılandırma dosyalarında yaptığınız değişikliklerin etkin olabilmesi için Nginx’i yeniden başlatmanız gerekecektir. Bunu şu komutla yapabilirsiniz:
sudo systemctl restart nginx
Yeniden başlattıktan sonra, 404 hatasının devam edip etmediğini kontrol edin. Eğer sorun çözülmediyse, diğer adımlara geçmeniz gerekebilir.
6. Hata Günlüklerini Kontrol Edin
Eğer tüm bu adımlar sorununuzu çözmediyse, hata günlüklerini incelemek size yardımcı olabilir. Nginx, her türlü hatayı /var/log/nginx/error.log dosyasına kaydeder. Bu dosyayı inceleyerek, hatanın kaynağını belirlemek mümkündür.
Hata günlüklerini görüntülemek için şu komutu kullanabilirsiniz:
sudo tail -f /var/log/nginx/error.log
Bu, hata günlüklerini sürekli olarak izler ve hataların hangi kaynaklardan geldiğini görmenize olanak tanır.
Sonuç
Nginx 404 hatası, bazen sinir bozucu olabilir, ancak genellikle birkaç basit adımda çözülebilir. Yapılandırma dosyasını gözden geçirmek, dosya izinlerini kontrol etmek ve yönlendirmeleri doğru yapılandırmak çoğu zaman bu hatayı ortadan kaldıracaktır. Yukarıda bahsedilen adımları takip ederek, sitenizdeki 404 hatalarını kolayca düzeltebilir ve kullanıcılarınıza kesintisiz bir deneyim sunabilirsiniz.