- Statik dosyalara hizmet vermek için kullanılabilecek, açık kaynaklı, hızlı, hafif ve yüksek performanslı bir web sunucusudur.
- NGINX, Apache web sunucusunun ve Microsoft'un IIS'sinin arkasındaki popüler web sunucusu olarak değerlendirilmektedir.
- NGINX, ilk sürümünde HTTP web sunumu için çalışıyordu. Ancak günümüzde HTTP, HTTPS, SMTP, IMAP, POP3 protokolleri için ters proxy sunucusu olarak da hizmet vermekte olup diğer yandan HTTP yük dengeleyici, HTTP önbellek ve IMAP, POP3 ve e-posta proxy'si için de kullanılmaktadır. SMTP.
- NGINX, içerik ve uygulama sunumunu iyileştirir, güvenliği artırır ve internetteki en yoğun web siteleri için ölçeklenebilirliği ve kullanılabilirliği kolaylaştırır.
- Kısaca Nginx'in web sunucularında eş zamanlı isteklere hizmet vermek için kullanılan bir tür yazılım olduğunu söyleyebiliriz.
- Daha önce bu işlevleri yerine getirmek için Apache'yi web sunucularına kurardık, ancak dünya büyüdükçe ve aynı anda daha fazla şey talep ettikçe eşzamanlılık terimi ortaya çıktı ve nginx de aynı şey için piyasaya sürüldü.
- Nginx, Igor Sysoev tarafından 1 ile yaratıldı.stsorusuna cevap vermek amacıyla Ekim 2004'te kamuoyuna açıklanması C10k sorunu . C10k, 10.000 bağlantıyı aynı anda yönetmenin zorluğudur. Günümüzde web sunucularının işlemesi gereken bağlantı sayısı çok daha fazladır. Bu nedenle nginx, olaya dayalı ve eşzamansız bir mimari sunar. Bu özellik, nginx'i ölçeklenebilirlik ve hız açısından en güvenilir sunucu haline getirir.
- Nginx kullanan bazı yüksek profilli şirketler arasında IBM, Google, Atlassian, Autodesk, GitLab, DuckDuckGo, T-Mobile, Microsoft, Adobe, Salesforce, VMware, LinkedIn, Cisco, Twitter, Apple, Intel, Facebook ve çok daha fazlası yer alıyor.
NGINX'i neden kullanmalıyım?
NGINX, ters proxy, yük dengeleyici ve hız sınırı ağ hizmetleri gibi çeşitli hizmetler sağlar. Çeşitli bağlantı noktalarını dinleyen birden fazla web hizmetimiz varsa ve istekleri dahili olarak yeniden yönlendirmek için tek bir genel uç noktaya ihtiyacımız varsa, ters proxy kullanımı kullanışlıdır. Bu, perde arkasında ayrı web hizmetlerine güç sağlamak için farklı NodeJ'ler, Go ve Java'nın bir kombinasyonunu kullanırken, 80 numaralı bağlantı noktasında birden fazla alan adını barındırmamıza olanak tanır.
Web hizmetleri ne yapmaları gerektiğine odaklanırken, Nginx günlüğe kaydetme, kara listeye alma, yük dengeleme ve statik dosyaların sunulması işlemlerini gerçekleştirebilir.
Nginx'in yapılandırması Apache httpd'den daha kolaydır. Nginx yüksek eşzamanlılık için tasarlanmıştır ve çok hızlıdır.
NGINX Nasıl Çalışır?
NGINX sürecini öğrenmeden önce bir web sunucusunun nasıl çalıştığına bir göz atalım. Bir web sayfasını açma isteğinde bulunduğumuzda tarayıcı sunucuyla iletişim kurar. Daha sonra sunucu sayfa için istenen dosyaları arar ve tarayıcıya gönderir. Bu, bir istek için yapılabilecek en basit çalışma türüdür.
Yukarıdaki örnek aynı zamanda tek bir iş parçacığı olarak kabul edilir. Geleneksel olarak Apache gibi web sunucuları her istek için tek bir iş parçacığı oluşturur ancak Nginx bu şekilde çalışmaz. Nginx, eşzamansız, olay odaklı bir mimariyle çalışır. Bir sürecin olaylarını akıllıca takip eder.
Nginx işini ikiye ayırdı işçi süreci Ve işçi bağlantıları . Burada çalışan bağlantıları, web sunucusu üzerinde kullanıcılar tarafından yapılan talebi ve alınan yanıtı yönetmek için kullanılır; aynı zamanda bu istekler, çalışan süreç adı verilen ana sürece iletilir.
Eş zamanlı MP3 ve MP4 dosya isteklerini işleyen Nginx sunucusuna bir örnek görelim: -
Yukarıdaki diyagramdan tek bir çalışan bağlantısının aynı anda yaklaşık 1024 bağlantıyı işleyebildiğini görebiliriz. Bir çalışan bağlantısının en iyi yeteneğidir. Sahip olduğumuz sunucunun türüne bağlı olarak Nginx'te 'n' sayıda çalışan süreç bulunabilir ve her bir çalışan süreç farklı işleri yönetir, böylece daha fazla sayıda eşzamanlı isteği işleyebilir.
Son olarak, çalışan süreç, istekleri yalnızca benzersiz isteklere doğrudan yanıt veren Nginx ana sürecine aktarır.
Çalışan bağlantısı 1024'e kadar benzer isteği karşılayabildiğinden. Bu nedenle Nginx binlerce isteği hiçbir zorlukla karşılaşmadan karşılayabilir. Nginx'in e-ticaret, arama motorları ve bulut depolama gibi yoğun web siteleri için mükemmel bir sunucu haline gelmesinin de nedeni budur.
NGINX'in özellikleri
Nginx'in bazı özellikleri şunlardır:
- Önbelleğe alma ile ters proxy
- IPv6
- Yük dengeleme
- Web Soketleri
- Statik dosyaların, indeks dosyalarının ve otomatik indekslemenin işlenmesi
- Önbelleğe alma ile FastCGI desteği
- URL yeniden yazma ve yönlendirme
NGINX ve NGINX Plus Sizin İçin Ne Yapabilir?
Nginx ve Nginx plus, Netflix, Dropbox ve Zynga gibi yüksek trafikli web siteleri tarafından kullanılan en iyi web sunucuları ve uygulama dağıtım çözümleridir. Google, Netflix, Twitter, Facebook vb. gibi en yoğun web siteleri, içeriklerini güvenli, güvenilir ve hızlı bir şekilde sunmak için Nginx ve Nginx Plus'a güveniyor.
- Nginx, donanım yük dengeleyicilerini modası geçmiş hale getiriyor - Nginx açık kaynaklıdır, donanım yük dengeleyicilerinden daha ucuzdur ve daha yapılandırılabilirdir ve modern bulut mimarileri için tasarlanmıştır.
Nginx plus, anında yeniden yapılandırma desteği sağlar ve daha kolay izleme için modern DevOps araçlarıyla bütünleşir. - NNginx çok işlevli bir araçtır; Nginx'i kullanarak yük dengeleyicimiz, içerik önbelleğimiz, ters proxy'miz ve web sunucumuzla aynı aracı kullanabiliriz. Kuruluşumuzun yapılandırmasının sürdürülmesi gerektiğinden takım miktarını en aza indirir.
Nginx Plus, müşteri desteğine hızlı yanıt vermeyi içerir, böylece yığınımızın Nginx Plus ve Nginx kullanan herhangi bir bölümünü teşhis etme konusunda kolayca yardım alabiliriz. - NGINX gelişmeye devam ediyor. Geçtiğimiz on yılda NGINX, modern Web'in geliştirilmesinde ön saflarda yer aldı ve HTTP/2'den mikro hizmet desteğine kadar her konuda öncülük etmeye yardımcı oldu.
Web uygulamalarının geliştirilmesi ve sunulması gelişmeye devam ederken, NGINX Plus kusursuz uygulama dağıtımını mümkün kılmak için sürekli olarak özellikler ekliyor.