BilgisayarlarProgramlama

Nginx: Kurulum ve yükleme

apache, nginx nedir? Amaç, özellikler, özelleştirme seçenekleri - bunlar her web geliştirici gelişmeleri test etmek aşina olmalıdır şeylerdir.

nginx Hakkında Bir Kelime Say

Bu araç bir ana ve birkaç iş akışları vardır. Okuma ve konfigürasyon doğrulama İlkinde. Ayrıca kendi kontrolü altında iş akışı yönetimidir. Geçmişte sorunu - Gelen istekleri elde etmektedir. olaylara dayanmaktadır nginx kullanım modeli. Mekanizmalar ayrıca doğrudan alt işlemler arasında etkili ayırma isteklerini elde etmek için işletim sistemine bağlı olarak, kullanılır. Sayıları her zaman yapılandırma dosyasında belirtilir. değeri, sabit veya işlenebilir işlemci çekirdeklerinin rehberliğinde, otomatik olarak ayarlanabilir ya da. sistem ve modüllerin nginx yapılandırmada yapılandırma dosyası kullanılarak gerçekleştirilir. Bir şeyi değiştirmek gerekiyorsa, bu nedenle, onun adını bakmak gerekir. Genellikle yönergesi / etc / nginx (ancak yol diğer sistemlerle değişebilir) ve uzatma .conf sahiptir.

Başlat, yeniden başlatma ve günlük

Bunu yapmak için, yürütülebilir çalışır yapmalıdır. başlatıldığında nginx-sunucunun yapılandırılması mümkündür. Yönetim -s parametresi ile yürütülebilir çağırmak sayesinde gerçekleştirilir. Bunu yapmak için, aşağıdaki kullanın:

nginx -s sinyal

Bu durumda, (aracı başlattı kullanıcı gelmelidir) aşağıdaki komutları yerine kullanabilirsiniz:

  1. Durdurun. Hızlı kapatma için kullanılır.
  2. Yükle. Takım yapılandırma dosyasını yeniden gerekiyordu. Aslında dosya çalışır kadar herhangi bir değişiklik yürürlüğe girmeyecek olması. Ve etkili olması amacıyla, bir yeniden başlatma gereklidir. En kısa zamanda bu sinyal almak gibi ana süreç yapılandırma dosyasının sözdizimsel bileşeninin doğruluğunu ve orada rehberlik mevcut uygulamak için denemek başlar. başarısızlık durumunda, geri değişiklikleri yuvarlanacak ve eski parametrelerle birlikte çalışacaktır. Her şey başarılıysa, yeni iş akışlarını başlatacak ve eski talebin ucuna gönderilir.
  3. Çıkın. işin düzgün tamamlanması için kullanılır. Geçerli istekleri muhafaza tamamlayana kadar beklemek istiyorum eğer kullanılır.
  4. Açın. Kapatın ve açık günlük dosyaları.

yardımcı programları kullanma

Ayar işlemler de (Kill programı, örnek olarak tartışılacaktır) UNIX araçlar kullanılarak gerçekleştirilebilir. Genellikle işlem verilerine doğrudan sinyal göndermek için bir mekanizma kullanır. Bunlar numarası vasıtası ile bağlanır. Bu veriler nginx.pid dosyada saklanır. bize sürecinde №134 ilgilenen olduğunu varsayalım. Sonra, ihtiyaç pürüzsüz tamamlanması için bize şu bilgileri göndermek için:

1628 QUIT -s öldürmek

bize tüm açık dosyaların bir listesini görmek istediğini varsayalım. Biz yarar ps kullanımı yapıyoruz. şöyle ekibi ayrıca görünecektir:

ps -ax | grep nginx

Ek araçlar onun uygulamasını gider belirtmek kullanarak, gördüğünüz gibi bu vardır. Ve şimdi nasıl kararlı nginx-konfigürasyona odaklanalım.

Yapılandırma dosyasının yapısı

Yükleme ve nginx yapılandırılması modülleri ile çalışmak içerir. Bunlar yapılandırma dosyasında belirtilen direktifleri kullanılarak yapılandırılır. Bunlar basit veya blok olabilir. Birinci tip boşluklarla ayrılmış direktifler ve parametreler oluşur ve bunların uç noktalı virgül ile belirtilir - (;). Blok benzer bir yapıya sahiptir. Ama bunun yerine süslü parantez ({} talimatlar) yerleştirilir talimatların ek set bulunan bu yönerge kapatma. Onlar isimleri ve sürecin diğer parametreleri gönderebilir, bunlar denir böyle yapılar bağlamı var. bir örnek, http, yer ve sunucu olarak.

Statik içerik dağıtımı

Bu nginx yapılandırma önündeki en önemli sorunlardan biridir. içerik istatistiksel dağılımı Altında anlamına görüntüleri ve HTML sayfaları (dinamik değil) 'dir. Biz küme nix nginx kurma hakkında tek işlem yapılması gerektiği anlamına varsayalım. bunu yapmak zor mu? Hayır, bir örneğe bakalım. Üzerinde başlamadan önce, sorunun koşulları detaylara gereklidir. Yani, isteğine bağlı olarak, dosyalar, çeşitli yerel dizinleri gelecektir. Böylece, / veri / www HTML-belgeler var. Ve dizin / veri / görüntü görüntüleri içeren. Bu durumda optimal ayar nginx http içinde sunucu birimini yapılandırmanız gerekir yapılandırma dosyasını, düzenleme gerektirir. İki konum olarak kullanılacaktır desteklemek için.

Uygulama: Sunucu

Yani, önce biz dizinleri oluşturmak ve onlar genişletmek gerekir (html içeriğe eklemek gerekir) dosyalarında kendilerini yerleştirmek gerekir. Sonra yapılandırma dosyasını açın. İçinde varsayılan sunucu zaten çoğunlukla dışarı yorumladı birkaç blok vardır. Optimum sonuçlar elde etmek için, bu süreç, varsayılan olarak tüm bileşenlerle ilgili olarak yapılması gerekmektedir. Sonra bu kodu kullanarak yeni bir sunucu birimi ekleyin:

http {

sunucu {

}

}

Yapılandırma dosyası birkaç tür bloklarla çalışabilir. Ancak isimleri ve verinin alındığı boyunca delikler ile ayırt edilmelidir.

Uygulama: konum

sunucu içinde belirlenir:

Yer / {

Kök / veri / www;

}

işaretin mevcudiyeti "/" elde edilen verileri karşılaştırmak ve bir adres Burada işlenen istek olup olmadığını görmek için gereklidir. herhangi bir sorun varsa, o zaman yerel sistemde bulunan istenen dosyaya yol / veri / www belirtin. Birkaç bloklarla bir eşleşme varsa, o zaman en uzun öneki ile birini seçin. Bu örnekte, uzunluk birine eşittir, yani kullanım hayır "rekabet" var olması durumunda münhasıran olacaktır. Şimdi, güncellenir atalım:

konum / images / {

Kök / veri;

}

belirleyebilir nasıl, bir resme arıyoruz. Şimdi, daha önce vardı ve şöyle şu anda yapılandırma tüm gelişmeleri birleştirmek alalım:

sunucu {

Yer / {

Kök / veri / www;

}

konum / images / {

Kök / veri;

}

}

Bu Bu durumda, standart bir çalışma versiyonudur liman №80. http: // localhost / sen adrese giderseniz sorunsuz Bu sunucu, bilgisayarınızda mevcut olabilir. Bunların hepsi nasıl çalışır?

Örneğin çalışma prensibi

onlar / görüntülerle başlayacak sorgulara geldiklerinde Yani, karşılık gelen dizin dosyalarının sunucu kullanıcıya gönderilecek. Daha sonra, yerel bilgisayardaki istek http nginx yapılandırma yürütülen Eğer onun yokluğunda hatayı 404. gösteren bilgiler verilecektir: //localhost/images/example.png kimin yeri /data/images/example.png bir dosya alacak. Eğer bir "/" sembolü arama dizini / veri / www yapılacaktır belirtirken. Ama biz sadece yapılandırmayı değişti. İşe başlar, bu yeniden başlatmanız gerekir. Bunu yapmak için, nginx -s reload kullanın. Normal çalışma yönergesi / usr / local / nginx / günlüklerinde bulunan access.log ve error.log dosyalarında, mümkün olmadığı durumda, arızanın nedenini bakabilirsiniz.

Basit bir proxy sunucusu oluşturma

Nginx söylenebilir - bu tesisin konfigürasyonu (bu arada, ve oldukça kolay) en yaygın uygulamalardan biridir. Bu bir istek aldığında sunucunun prensibini kullanır ve sonra gerekli sitelere yönlendirir. Bundan sonra, cevap görev ayarlamak birine gönderir ki onlardan beklenir. Öyleyse bir baz noktası oluşturulmasına ilişkin bir örneği inceleyelim. Bu hizmet, kullanıcıların istekleri ile başa çıkmak ve yerel bir dizinden bir görüntü ile onlara sağlayacaktır. Yani, http aşağıdaki içeriğe sahip başka bir sunucu eklemek engellemek için:

sunucu {

8080 dinle;

Kök / veri / up1;

Yer / {

}

}

Şimdi, sizin için deşifre edelim: Basit bir sunucu oluşturmak. O dinleyecek liman 8080 sunucu 80 th çalışacak, bir dinleme yok. dizin / veri / UP1 yönlendirilir yerel dosya sistemi içinde tüm istekleri görüntülenir (tabii ki, önce onu oluşturmak için gerekli olacaktır). o index.html dosyasını yerleştirmek için gerekli olan kontrol edebilmek. Nedeniyle biz her zaman yerini kullanabilirsiniz kök sunucu bağlamında direktifler yerleşime (böylece kaldırılan erişim kısıtlamaları gibi). Şimdi bir proxy oluşturmaya çalışıyoruz. o iş için, biz (: // localhost: 8080 yerel bağlantı için http gibi görünecektir) proxy_pass protokol adını belirtildiği şekilde kullanılacaktır için direktif, ve parametre olarak liman tesisi gerekir. Bu sonucu alın:

sunucu {

Yer / {

proxy_pass http: // localhost: 8080;

}

konum / images / {

Kök / veri;

}

}

kod bakıp analiz ise, ikinci ünite yeri değiştirildi olduğunu fark edebilirsiniz. Böylece, bu durumda, tipik uzantılar görüntülerle çalışabilir. aşağıdaki gibi biraz farklı, bu görüntülenen olabilir:

Konumu ~ \ (gif | jpg | png) $ {.

Kök / veri / görüntü;

}

aşağıdaki gibi nihai proxy yapılandırması geçerli:

sunucu {

Yer / {

proxy_pass http: // localhost: 8080 /;

}

Konumu ~ \ (gif | jpg | png) $ {.

Kök / veri / görüntü;

}

}

Orada bu uzantılar vardır ve dosyaları isteyen kişiye gönderebilirsiniz hangi sonunda istekleri filtreler. yapılandırma dosyasını kontrol etmek istiyorsanız bunu yeniden başlatmanız gerekecektir unutmayın. Ve inan bana, sadece nginx-konfigürasyon. Eğer yapılandırmayı "Vkontakte" dosya sunucusu veya diğer büyük şirket açarsanız, bu makalede sözlerden daha kod daha olacaktır.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 unansea.com. Theme powered by WordPress.