- Konu sahibi
- #1
“Welcome to nginx!” ne demek?
“Welcome to nginx!” Nginx kurulumlarıyla gelen varsayılan karşılama içeriğidir. Kendi siteniz yerine bunu görmeniz çoğunlukla isteğin yanlış sunucu bloğuna gitmesi veya sunulan dizinde varsayılan dosyanın kalmasıyla ilişkilidir. İçerik bir önbellekten veya kopyalanmış statik dosyadan da sunulabileceği için bu metin altyapının kesin kanıtı değildir; tek başına alan adının, uygulamanın veya DNS ayarlarının doğru yapılandırıldığını göstermez.
Bu sayfa nasıl oluşur?
Nginx gelen isteği önce IP adresi, port ve istekteki
Host adına göre uygun bir server bloğuna yönlendirir. Uygun bir blok bulunamazsa, dinlenen port için varsayılan blok seçilebilir. Bu blok çoğu Linux dağıtımında kurulumla birlikte gelen basit karşılama sayfasını gösterir.Örneğin
example.com alan adı sunucunuzun IP adresine yönleniyor, fakat Nginx yapılandırmasında bu alan adı için server_name example.com tanımlı değilse veya site yapılandırması etkin değilse, tarayıcı sizin siteniz yerine varsayılan “Welcome to nginx!” sayfasını görebilir.Bu durumun olası anlamları şunlardır:
- Nginx yeni kurulmuştur ve varsayılan yapılandırma hâlâ etkindir.
- Alan adınız için hazırlanan yapılandırma etkinleştirilmemiştir.
- Yapılandırmadaki
server_namedeğeri gelen alan adıyla eşleşmiyordur. - DNS başka bir sunucuya yönleniyordur.
- İstek HTTP yerine farklı bir port veya HTTPS yapılandırmasına gidiyordur.
Önce hangi durumu yaşadığınızı ayırın
Aşağıdaki tablo, karşılama sayfasının ne söylediğini ve hangi noktayı kontrol etmeniz gerektiğini özetler:
| Gözlem | Muhtemel anlam | İlk kontrol |
|---|---|---|
| IP adresinde karşılama sayfası | Varsayılan sunucu bloğu çalışıyor | Etkin Nginx yapılandırması |
| Alan adında karşılama sayfası | Host eşleşmesi veya DNS sorunu | DNS ve server_name |
| Yapılandırma değiştiği hâlde eski sayfa | Değişiklik yüklenmemiş veya istek başka sunucuya gidiyor | Test, reload ve DNS hedefi |
Bu tabloya göre özellikle alan adıyla test yapmak önemlidir. IP adresinde doğru sayfayı görmeniz, alan adı isteğinin de aynı yapılandırmaya girdiği anlamına gelmez.
Uygulanabilir kontrol ve düzeltme adımları
Aşağıdaki komutlar Nginx yöneticisi için Linux/Unix kabuk örneğidir. Panelin yönettiği sunucuda kalıcı ayarları panelin desteklediği yoldan değiştirin. Önce mevcut yapılandırmanın geri dönüş kopyasını koruyup şu sırayı izleyin:
- Doğru Nginx yürütücüsü ve yapılandırma dosyasıyla yapılandırmayı sınayın. Bu test tek başına çalışan hizmeti doğrulamaz:
Başarılı sonuçtaKod:sudo nginx -tsyntax is okvetest is successfulbenzeri çıktılar görürsünüz. Hata alırsanız bildirilen sözdizimi sorununu, dosya/sertifika okuma veya yetki sorunundan ayırın; test başarılı olmadan yeniden yükleme yapmayın. - Etkin yapılandırmada alan adınızın geçtiğini arayın. Dağıtıma göre dosyalar farklı olabilir; önce tam yapılandırmayı görüntülemek daha güvenlidir:
Alan adınız burada görünmüyorsa ilgili site yapılandırması okunmuyor olabilir. -T çıktısı hassas yapılandırma bilgisi içerebilir; tamamını herkese açık destek mesajına yapıştırmayın.Kod:sudo nginx -T | grep -nE 'server_name|listen|root|proxy_pass' - Site yapılandırmasındaki
server_namedeğerini gerçek alan adınızla eşleştirin. Dosyanın etkin yapılandırma dizinine bağlanmış olduğundan veya ana Nginx yapılandırmasından dahil edildiğinden emin olun. Dağıtımların etkinleştirme yöntemi aynı olmayabileceği için varsayılan sembolik bağlantıyı körü körüne silmeyin; önce hangi dosyanın varsayılan olduğunu belirleyin. - Değişiklikten sonra tekrar sözdizimi testi yapın ve başarılıysa Nginx’i yeniden yükleyin:
Bu komut başarılıysa mevcut bağlantıları kesmeden yeni yapılandırmayı yüklemeyi dener. Hâlâ karşılama sayfası görünüyorsa isteğin doğru IP’ye, porta veKod:sudo nginx -t && sudo nginx -s reloadserver_nameeşleşmesine gittiğini kontrol edin. - Yerel olarak alan adı başlığıyla test yapın:
Bu örnek Nginx’in yerel127.0.0.1:80 adresinde dinlediğini varsayar. -i hem başlıkları hem gövdeyi gösterir; kendi sitenize özgü içeriği doğrulayın. Yalnız Server başlığı doğru site bloğunu kanıtlamaz. HTTPS’te ayrıca TLS/SNI eşleşmesi vardır; bu HTTP örneğini HTTPS doğrulaması saymayın. Karşılama sayfası dönüyorsa sorun büyük olasılıkla sunucu bloğu eşleşmesi veya kök dizin yapılandırmasıdır.Kod:curl -i -H 'Host: example.com' http://127.0.0.1/
Sık yapılan hatalar
Sadece Nginx’i yeniden başlatmak: Yanlış
server_name, DNS veya etkin olmayan dosya sorunu yeniden başlatmayla çözülmez. Önce nginx -t ve etkin yapılandırma çıktısını inceleyin.IP adresini alan adı sanmak: IP ile yapılan istek varsayılan bloğa düşebilir. Alan adıyla ve gerekiyorsa doğru HTTP/HTTPS portuyla test edin.
DNS değişikliğini sunucu yapılandırmasıyla karıştırmak: DNS doğru IP’yi gösterse bile Nginx ilgili alan adını karşılayan bir
server bloğuna sahip değilse karşılama sayfası görülebilir.Varsayılan dosyayı hemen silmek: Bu, sorunun nedenini gizleyebilir ve başka alan adlarının davranışını değiştirebilir. Önce hangi bloğun seçildiğini ve hangi yapılandırmaların etkin olduğunu belirleyin.
Sık sorulan sorular
Bu sayfa Nginx’in bozuk olduğu anlamına mı gelir?
Hayır. Genellikle Nginx’in isteği karşılayabildiğini gösterir. Sorun çoğunlukla sitenizin doğru sunucu bloğuna bağlanmaması veya varsayılan içeriğin hâlâ sunulmasıdır.
Karşılama sayfasını nasıl kendi sitemle değiştiririm?
Alan adınız için doğru
server_name, içerik dizini veya uygulama yönlendirmesi bulunan bir server bloğu oluşturun; ardından nginx -t ile test edip başarılıysa yapılandırmayı yeniden yükleyin.IP ile doğru, alan adıyla yanlış sayfa geliyorsa neyi kontrol etmeliyim?
Önce DNS’in doğru sunucu IP’sini gösterdiğini, sonra Nginx yapılandırmasındaki
server_name değerinin alan adıyla eşleştiğini ve HTTPS kullanılıyorsa ilgili TLS sunucu bloğunun da aynı alan adını karşıladığını kontrol edin.