nginx eksik siteler-kullanılabilir dizin


190

Nginx'i Centos 6'ya yükledim ve sanal ana bilgisayarlar kurmaya çalışıyorum. Yaşadığım sorun /etc/nginx/sites-availabledizini bulamıyorum .

Oluşturmak için yapmam gereken bir şey var mı? Nginx'in çalışır durumda olduğunu biliyorum çünkü ona göz atabiliyorum.


Bir büyük yapılandırma dosyasını daha küçük olanlara bölmek istiyorsanız, komut
dosyamı

Yanıtlar:


354

Bence nginx kendi kurulumunda buna sahip değil, çünkü Ubuntu tarafından tutulan paket Debian'ın apache kurulumunu taklit etmek için bir kural olarak yapıyor. Aynı kurulumu taklit etmek isterseniz kendiniz oluşturabilirsiniz.

Oluşturun /etc/nginx/sites-availableve /etc/nginx/sites-enabledardından düzenlemek httpblok içini /etc/nginx/nginx.confve bu satırı ekleyin

include /etc/nginx/sites-enabled/*;

Tabii ki, tüm dosyalar içeride olacak sites-availableve sites-enabledetkinleştirilmesini isteyenler için içeride bir sembolik bağlantı oluşturacaksınız .


23
RedHat akrabaları (örneğin Fedora ve Centos) Debian / Ubuntu gibi kutudan çıkar çıkmaz. @Mohammad'in dediği gibi kopyalamak kolaydır, ancak güzel varsayılanlara sahip olmamak yeni gelenler için kafa karıştırıcıdır.
MGP

36
Tanrım, bunu anlamak için kaç arama yaptığımı söyleyemem. Amazon Linux AMI 2014.03 sürümünü kullanıyorum. Npmx'i rpm dosyalarından (nginx 1.6.2 veya nginx 1.7.5 olsun) yüklerseniz bu dizinler otomatik olarak oluşturulmaz, ancak birçok nginx yapılandırma örneği bunlara atıfta bulunur ... nginx'inizin doğru bir şekilde kurulup kurulmadığını merak etmenizi sağlar.
so_mv

1
Harika teşekkürler, sembolik bağlantıya ne dersin? Sözdizim doğru mu? İçerme ifadesi tarafından bulunmuyor gibi görünüyor.
sıfırlar ve olanlar

7
Bunu düzelttim, yeni başladım ve böyle bir sym bağlantısı oluşturdum: sudo ln -s /etc/nginx/sites-available/test.conf /etc/nginx/sites-enabled/test.conftam yolun neden bir fark yarattığından emin değilim: /
sıfırlar ve olanlar

1
Çok teşekkür ederim. Kaynaktan nginx oluşturdu ve ubuntu'nun bunu yaptığını fark etmedi.
Sean Norwood

66

Daha doğrudan bir yaklaşım tercih ederseniz, /etc/nginx/sites-availableve ile arasında bağlantı kurulmasını engellemeyen bir yaklaşım tercih edersiniz /etc/nginx/sites-enabled:

  1. Nginx.conf dosyanızı bulun. Muhtemelen/etc/nginx/nginx.conf
  2. Http bloğunu bulun.
  3. Http bloğunun bir yerinde, write include /etc/nginx/conf.d/*.conf;nginx'e conf.ddizindeki herhangi bir dosyayı sonlandırmasını söyler .conf. (Biliyorum: bir dizinin içinde bir tane olması garip ..)
  4. Create conf.dzaten (3. adımda yolun başına) yoksa dizin. Doğru izinleri / sahipliği verdiğinizden emin olun. Muhtemelen kök veya www verileri.
  5. Ayrı yapılandırma dosyalarınızı (tıpkı sizin gibi /etc/nginx/sites-available) dizine taşıyın veya kopyalayın conf.d.
  6. Nginx'i yeniden yükleyin veya yeniden başlatın.
  7. Bir dondurma külahı ye.

Herhangi .confiçine koymak dosyalar conf.dŞu andan itibaren dizine sürece sen yeniden / yeniden başlatma nginx sonra aktif hale gelecektir.

Not: İsterseniz conf.dve sites-enabled+ sites-availableyöntemini aynı anda kullanabilirsiniz . Kullanarak dev kutusu üzerinde test etmek istiyorum conf.d. Symlinking ve unlinklinking'den daha hızlı hisseder.


13
Symlinking "karmaşa" nın amacı, yapılandırma dosyalarını koruyabilmeniz ve sanal ana bilgisayarları çok kolay bir şekilde devre dışı bırakabilmenizdir. Yaklaşımınızı kullanırsanız, bir symlink'i silmekten daha az dağınık olduğunu düşünmediğim bir siteyi devre dışı bırakmak istediğinizde dosyaları conf.d'den çıkarmanız gerekir.
bviktor

@bviktor seni duyuyorum. Aslında her iki yolu da kullanıyorum. Siteleri kullanılabilir ve siteler etkin dirs arasında ileri geri sıçrama [yapılandırma test ederken] daha sıkıcı buldum. Üretim ortamımda sembolik kullanmayı planlıyorum.
elbowlobstercowstand

1
Evet, katılıyorum, ../sites-available/...hızlı bir şekilde test ederken ln -s yazmak oldukça sıkıcı, ancak uzun vadede kullanışlı ve yönetilmesi daha kolay :)
bviktor

@bviktor Bir yol adı yazarken terminalde sekmeye vurabilme ve otomatik tamamlamayı izleme özelliği için müteşekkiriz. Onu kullanan biriyle bir video izleyene kadar bir süre bilmiyordum. Ben 300 wpm yazdık düşündüm! Sonra yakaladım. :)
elbowlobstercowstand

12
@bvktor Yalnızca .conf uzantılı siteler dahil ediliyor. Bir sitenin etkinleştirilmesini istemiyorsanız, site yapılandırma dosyasına .disabled uzantısını eklemeniz yeterlidir. CentOS / Apache'deki standart sözleşme budur ve Nginx için de geçerlidir.
SenG

0

Sudo apt install nginx-full'i denedim. Gerekli tüm paketleri alacaksınız.

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.