Nginx için varsayılan bir ana bilgisayarı nasıl ayarlarım?


11

Nasıl benim nginx yükleme için varsayılan bir ana bilgisayar ayarlamak için anlamaya çalışıyorum. Bu makaleyi nginx Wiki'de buldum:

http://wiki.nginx.org/NginxVirtualHostExample#A_Default_Catchall_Virtual_Host

Ne yazık ki, bu işe yaramıyor. Yeniden başlattıktan sonra bunu alıyorum:

Restarting nginx: nginx: [emerg] unknown directive "http" in /etc/nginx/sites-enabled/catchall:1
nginx: configuration file /etc/nginx/nginx.conf test failed

Http yönergesini kaldırdıktan sonra bunu alıyorum:

Restarting nginx: nginx: [emerg] unknown log format "main" in /etc/nginx/sites-enabled/catchall:7
nginx: configuration file /etc/nginx/nginx.conf test failed

Ben resmi nginx PPA kullandığım Ubuntu 10.04.3 kullanıyorum. Nginx'in 1.0.9 sürümü çalışıyor.

Yanıtlar:


16

Nginx yapılandırmaları iç içe geçmiş bir dizi bloğa dayanır. Yalnızca bir http bloğu olmalıdır. Bu genellikle /etc/nginx/nginx.conf dosyasında tanımlanır - dahil edilen tüm dosyalar (ör. Kullanılabilir sitelerden) bu http bloğuna dahil edilir. Varsayılan / tümünü yakalama ana bilgisayarını kurmak için, varsayılan ana makineniz için yalnızca sunucu engelleme bölümüne ihtiyacınız vardır. Bu, dinleme yönergesine 'varsayılan' eklenerek gerçekleştirilir. Ayrıca, herhangi bir gerçek adla eşleşmeyecek bir sunucu_adı (genellikle alt çizgi ("_")) kullanmak yaygındır, ancak diğer karakterler de kabul edilebilir. Varsayılan parametreyi atlarsanız, ilk sunucu bloğu varsayılan olarak kabul edilir. (Daha fazla bilgi için nginx'in sunucu_adı kılavuzuna bakın )

Varsayılan (bu bağlamda 'orijinal') nginx yapılandırması, nginx.conf dosyasında yapılandırabileceğiniz bir varsayılan (tümünü yakala) sunucu bloğu içerebilir.

İkinci hataya gelince, nginx.conf dosyasında 'main' tanımlı olduğundan emin olun (bir satır 'log_format main ...' ile başlamalıdır (ve elbette parantezlerinizi kontrol edin). 'Access_log' satırını tamamen atlayabilirsiniz varsayılan sunucunuzdan gelen isteklerin günlüğe kaydedilmesini istemiyorsanız (veya yeni bir biçim tanımlayarak biçimi değiştirebilirsiniz).


Bu kadar hızlı oldu. Teşekkürler. Biraz uyuduktan sonra yarın bunu deneyeceğim ;-).
Ulf Klose

_ Adresini sunucu_adı olarak kullanmak {} sunucunun "varsayılanlığı" na eklenmez, genellikle catchall'ın diğer sunucu bloklarıyla çakışmasını önlemek için kullanılır, bu nedenle dinleme yönergesindeki varsayılan bayrak hakkında 'geçersiz kılma' yoktur. Sunucuyu varsayılan olarak açıkça işaretleyen tek şey budur. Hala, +1
kolbyjack

@kolbyjack - Düzeltme için teşekkürler - Cevabımı çözeceğim.
cyberx86

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.