Bir zamanlar, web sitemi canlıya almak için Nginx'i kurarken, her şey mükemmel görünüyordu. Ancak, siteye her girdiğimde, o kadar sinir bozucu bir hata mesajı vardı ki: "Server_Name konfigürasyonu eksik ya da yanlış." O an kendimi bir yabancı gibi hissettim. Nginx benimle dalga mı geçiyordu?
Neyse ki, zamanla anladım ki, bu hata genellikle yapılandırma dosyasındaki küçük bir yanlışlıktan kaynaklanıyor. Ve işte o an, çözümü bulmanın keyfini yaşadım.
Server_Name Hatasının Sebepleri
Bazen, bu küçük hata, yeni başlayanlar için kafa karıştırıcı olabilir. Yanlışlıkla yazdığınız bir
server_name satırı, ya da eksik bir domain adı, Nginx'in doğru sunucuyu bulamamasına sebep olabilir. Hata Mesajı: “server_name” Directive Is Missing
"server_name" directive is missing
Bu, "server_name" parametresinin eksik olduğu anlamına gelir. Sunucunuz, gelen talepleri nereye yönlendireceğini bilmediği için, bu hatayı fırlatır.
Çözüm: Server_Name Konfigürasyonunu Düzeltmek
1. Nginx Konfigürasyon Dosyasını Bulun
Genellikle bu dosya `/etc/nginx/nginx.conf` veya `/etc/nginx/sites-available/default` gibi bir yerde bulunur.
2. Server Block İçerisinde Server_Name Direktifini Ekleyin
Aşağıdaki gibi bir satır ekleyin:
server {
listen 80;
server_name example.com www.example.com;
location / {
root /var/www/html;
index index.html index.htm;
}
}
Burada, `example.com` yerine kendi domain adınızı yazmalısınız. Bu şekilde Nginx, gelen talepleri doğru domain’e yönlendirecektir.
3. Yapılandırmayı Test Edin
Konfigürasyon dosyasını değiştirdikten sonra, değişikliklerin doğru yapıldığından emin olmak için şu komutu çalıştırın:
sudo nginx -t
Bu komut, yapılandırma dosyanızda herhangi bir hata olup olmadığını kontrol eder. Eğer her şey doğruysa, şu mesajı görmelisiniz:
nginx: configuration file /etc/nginx/nginx.conf test is successful
4. Nginx’i Yeniden Başlatın
Son olarak, değişikliklerin etkili olması için Nginx’i yeniden başlatmanız gerekiyor:
sudo systemctl restart nginx
Bu adımları takip ederek, Nginx'teki server_name hatasını kolayca çözebilirsiniz. Şimdi sitenizi tekrar kontrol edin ve hatanın giderildiğini görün.
Server_Name Konfigürasyonu ile SEO Dostu Ayarlar
Örnek olarak, şu şekilde bir 301 yönlendirmesi kullanabilirsiniz:
server {
listen 80;
server_name www.example.com;
return 301 http://example.com$request_uri;
}
Bu, tüm `www.example.com` taleplerini otomatik olarak `example.com` domainine yönlendirir. Böylece duplicate content (çift içerik) sorununu önlersiniz.
Sonuç
Unutmayın, her hata yeni bir öğrenme fırsatıdır. Bu basit adımlarla, Nginx’i mükemmel şekilde yapılandırabilirsiniz.