Hayal edin, bir sabah uyanıyorsunuz ve sitenizin ana sayfası yüklenmiyor. Tüm her şey doğru görünüyordu; fakat sunucu üzerinde bir şeyler yanlış gidiyor gibi. Nginx’in log dosyalarını kontrol ettiğinizde, "server_name" ile ilgili bir hata mesajı alıyorsunuz. Peki, ne yapmalısınız? Hadi, bu yazı ile adım adım nasıl çözüleceğini öğrenelim.
1. Nginx Server_Name Hatası Nedir?
Server_name hatası genellikle şu durumlarda ortaya çıkar:
- Yanlış yazılmış domain adı: "server_name" değerine yazılan domain adının doğru olmaması.
- DNS Problemleri: Domain adı doğru olsa da DNS tarafında sorunlar olabilir.
- Aynı server_name’a sahip birden fazla server block: Aynı domain adı birden fazla server block içinde tanımlandıysa, Nginx hangi siteyi sunacağını bilemez.
- Doğru IP adresine yönlendirme yapılmaması: server_name doğru olsa bile IP adresine doğru yönlendirme yapılmıyorsa, site düzgün yüklenmez.
Peki, çözüm nedir?
2. Server_Name Konfigürasyonunu Nasıl Düzeltebiliriz?
İlk olarak, server_name direktifinin doğru yazıldığından emin olmalısınız. İşte doğru bir konfigürasyon örneği:
kopyalaserver { listen 80; server_name www.ornek.com ornek.com; location / { root /var/www/html; index index.html index.htm; } }
Yukarıdaki örnekte, www.ornek.com ve ornek.com domain adları, tek bir server block’a yönlendirilmiştir. Bu sayede her iki domain de aynı siteye yönlendirilir.
# b. DNS Ayarlarını Kontrol Edin
kopyalanslookup www.ornek.com
Bu komut, domain adınızın doğru IP adresine yönlendirilip yönlendirilmediğini kontrol etmenize yardımcı olacaktır.
# c. Sunucu Yeniden Başlatma
kopyalasudo systemctl restart nginx
Bu komut Nginx’i yeniden başlatır ve yapılan değişikliklerin geçerli olmasını sağlar.
# d. Birden Fazla Server Block Kullanımı
kopyalaserver { listen 80; server_name www.ornek1.com; location / { root /var/www/ornek1; index index.html index.htm; } } server { listen 80; server_name www.ornek2.com; location / { root /var/www/ornek2; index index.html index.htm; } }
Bu konfigürasyon, iki farklı domain’i iki ayrı server block’a yönlendirir ve her bir domain’in doğru içeriklere yönlendirilmesini sağlar.
3. Hata Günlüklerini İnceleyin
kopyalasudo tail -f /var/log/nginx/error.log
Bu komut, anlık hata mesajlarını terminal ekranında gösterir. Hata mesajlarına göre, hatanın kaynağını tespit edebilirsiniz.
4. Sonuç
Umarım bu rehber, Nginx üzerinde server_name hatasını çözmenize yardımcı olmuştur. Artık sunucunuz sorunsuz bir şekilde çalışıyor ve siteniz kullanıcılarınıza kesintisiz hizmet sunuyor!