İçeriğe atla

Nginx

Nginx
Geliştirici(ler)Igor Sysoev, Nginx, Inc.
İlk yayınlanma4 Ekim 2004 (20 yıl önce) (2004-10-04)[1]
Güncel sürüm1.24.0
Önizleme sürümü1.25.3
Programlama diliC
PlatformWindows,Linux, BSD türevleri, OS X, Solaris, AIX, HP-UX, diğer *nix tipi işletim sistemleri
Resmî sitesinginx.org Bunu Vikiveri'de düzenleyin
Kod deposu Bunu Vikiveri'de düzenleyin

Nginx ("engine x", encineks olarak telaffuz edilir); yüksek eş zamanlı çalışma kabiliyeti, yüksek performans ve düşük hafıza kullanımına odaklanılarak tasarlanmış bir Web sunucusudur. Aynı zamanda ters vekil sunucusu, yük dengeleyici ve HTTP ön belleği olarak da kullanılabilir.

2002 yılında Igor Sysoev tarafından yazılmış olan Nginx Unix, Linux, BSD türevleri, Mac OS X, Solaris, AIX, HP-UX ve Microsoft Windows işletim sistemleri üzerinde çalışabilir. BSD-like lisansı ile yayımlanan Nginx bir özgür ve açık kaynak kodlu bir yazılımdır.

W3Techs'in web sunucularının kullanım istatistiklerine göre Nginx, internet üzerindeki tüm "aktif "siteler arasında en yaygın web sunucusudur.[2]

Özellikleri

Nginx dinamik Web içeriğini FastCGI, SCGI, WSGI ya ad Phusion Passenger modülleri üzerinden sunacak şekilde konfigüre edilebilir ve yazılım yük dengelemesi olarak görev alabilir.[3]

Nginx asenkron ve olaya dayalı programlama yaklaşımı sayesinde yüksek yük altında çok daha yüksek ve güvenilir performans vermektedir.

Web sunucusu ve http vekil sunucusu olarak özellikleri

  • Aynı anda 10.000 eşzamanlı bağlantıyı çok az hafıza kullanarak yönetmek (10.000 keep-alive bağlantısı için yaklaşık 2.5 MB)
  • Statik dosyalar için otomatik indeksleme
  • Ters vekil sunucusu olarak kullanılabilme ve ön bellekleme
  • Yük dengeleme ve çalışma kontrolü[4]
  • Hataya dayanıklılık
  • TLS/SSL, SNI ve OCSP stapling desteği
  • FastCGI, SCGI, uWSGI desteği ve ön bellekleme
  • İsim ve IP tabanlı sanal sunucular oluşturabilme
  • IPv6 desteği
  • HTTP protokolüne alternatif olarak SPDY protokolü desteği
  • FLV ve MP4 medya akışı desteği
  • Web erişimi için kimlik doğrulaması
  • gzip sıkıştırma
  • URL yeniden yazma
  • Eşzamanlı bağlantı sınırlaması[5]
  • Birim zamanda istek işleme sınırlaması[6]
  • Bant genişliği sınırlaması[7]
  • Server Side Includes
  • IP tabanlı coğrafi konum desteği
  • WebDAV desteği
  • Gömülü Perl desteği
  • Load Balance Sistemi
  • TCP/UDP Proxy
  • Ters Proxy Özelliği
  • Gelişmiş AntiDDoS LUA/MOD Seçenekleri

E-posta vekil sunucusu olarak özellikleri

  • TLS/SSL desteği
  • STARTTLS desteği
  • SMTP, POP3, IMAP vekil sunucusu
  • Harici bir HTTP sunucusu kullanarak kimlik doğrulama[8]

Konfigürasyon dosyaları ve çalıştırılabilir dosyalarının, sunucuyu durdurmadan güncellenebilmesinin yanında Nginx, modül tabanlı geliştirilebilir bir mimariye sahiptir. Ücretli sürümü Nginx Plus olup gelişmiş yük dengeleme ve daha gelişmiş performans görüntülemesi gibi fazladan özellikler içerir.

Kaynakça

  1. ^ "CHANGES". 5 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Eylül 2014. 
  2. ^ "Usage Statistics and Market Share of Web Servers, November 2023". w3techs.com. 25 Temmuz 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Kasım 2023. 
  3. ^ "Use nginx for Proxy Services and Software Load Balancing, 2010-05-11, by Sam Kleinman, Linode Library". 10 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Temmuz 2015. 
  4. ^ "Module ngx_http_upstream_module". nginx.org. 26 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ağustos 2012. 
  5. ^ "Module ngx_http_limit_conn_module". nginx.org. 24 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Haziran 2015. 
  6. ^ "Module ngx_http_limit_req_module". nginx.org. 5 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Haziran 2015. 
  7. ^ "Module ngx_http_core_module — limit_rate". nginx.org. Erişim tarihi: 24 Haziran 2012. []
  8. ^ "Module ngx_mail_auth_http_module". nginx.org. 19 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Eylül 2012. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Sunucu (bilişim)</span> bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi

Sunucu, bilişim alanında "istemci" denilen diğer program ve cihazlara çeşitli işlevler sunan bilgisayar donanımları veya yazılımlarıdır. Bu mimariye istemci-sunucu modeli denir. Sunucular, istemciler arasında veri veya kaynak paylaşımı, bir istemci için hesaplama yapma gibi çeşitli işlevleri yerine getirebilirler. Bu işlevlere genellikle "servis" veya "hizmet" denir. Tek bir sunucu çok sayıda istemciye hizmet verebilir, tek bir istemci de çok sayıda sunucudan hizmet alabilir. İstemci ve sunucu aynı cihaz üzerinde çalışabileceği gibi, istemci ağ üzerinden farklı bir cihazdaki sunucuya da bağlanabilir. Tipik sunucular arasında veritabanı sunucuları, dosya sunucuları, e-posta sunucuları, yazdırma sunucuları, web sunucuları, oyun sunucuları ve uygulama sunucuları sayılabilir.

HTTPS bir bilgisayar ağı üzerinden güvenli iletişim için internet üzerinde yaygın olarak kullanılan bir HTTP uzantısıdır. HTTPS'te, iletişim protokolü Taşıma Katmanı Güvenliği (TLS) veya öncesinde, onun öncülü/selefi olan Güvenli Soket Katmanı (SSL) ile şifrelenir. Bu nedenle protokol sık sık TLS üzerinden HTTP veya SSL üzerinden HTTP olarak da adlandırılır.

<span class="mw-page-title-main">Vekil sunucu</span>

Vekil sunucu veya yetkili sunucu, İnternet'e erişim sırasında kullanılan bir ara sunucudur. Bu durumda, örneğin bir ağ sayfasına erişim sırasında doğrudan bağlantı yerine:

<span class="mw-page-title-main">Barındırma hizmeti</span> Web Sitelerin dosya barındırma sistemi

Barındırma (hosting), bir web sitesinde yayınlanmak istenen sayfaların, resimlerin veya belgelerin internet kullanıcılarının erişimine sunulabilmesi amacıyla bir sunucuda saklanmasıdır. Barındırma hizmeti, web sitesinin içeriğinin yüklenip saklandığı sunucunun veri depolama işlevini üstlenir.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

<span class="mw-page-title-main">Yük dengeleme</span>

Yük dengeleme; işi, iki ya da daha fazla bilgisayar, işlemci, sabit disk ya da diğer kaynaklar arasında paylaştırma teknolojisidir. Bu teknolojiyi kullanarak en iyi kaynak kullanımı, en yüksek işlem hacmi, en düşük cevap süresi sağlanabilir; oluşabilecek aşırı yüklemeden (overload) kurtulunabilir.

Dünya Çapında Ağ bağlamında Apache JServ Protokolü, ikicil bir protokol olup Web sunucusundan gelen geri bağlantılı talepleri bir alıp arkasında bulunan uygulama sunucusua iletebilir. Ayrıca bazı denetlemeleri de yaparak Web sunucusunun uygulama sunucusunu pinglemesine de sağlamaktadır. Web uyarlamacıları tipik olarak AJP'yi bir yük dengleme konuşlandırmasında bir veya birkaç ön uç Web sunucusundan bir veya birkaç uygulama sunucusuna talepleri iletmek için kullanmaktadırlar. Oturumlar asıl uygulama sunucularına her uygulama sunucusu oluşumuna bir ad verildiği özel bir yönlendirme mekanizmasıyla yönlendirilirler. Bu bağlantıların her birine dolaştır denir.

<span class="mw-page-title-main">Ters Vekil Sunucusu</span>

Ters vekil sunucusu, bilgisayar ağlarında bir veya daha fazla sunucudan istemci adına kaynakları alan bir vekil sunucu türüdür. Kaynakları daha sonra istemciye geri döndürür.

Tünel protokolü, bir ağ protokolü farklı bir yük-taşıma protokolü içerdiğinde bilgisayar ağ bağlantısı, bir tünel protokolü kullanır. Tünel protokolü kullanılarak, uyumsuz olan bir iletim protokolü üzerinde bir yük-taşıma taşınabilir ya da güvenilmeyen ağlarda güvenli bir yol oluşumu sağlanabilir.

HTTP tünelleme, kapsüllenmiş http protokolünü kullanan çeşitli ağ protokollerini çalıştırarak bağlantı gerçekleştiren bir tekniktir. Ağ protokolleri genelde TCP/IP ailesine ait olan protokollerdir. HTTP protokolü dolayısıyla, ağ protokolü tünnellenmiş olan kanal için kılıf (wrapper) olarak davranır.

POODLE atağı(Açılımı Padding Oracle On Downgraded Legacy Encryption) web tarayıcılarının SSL 3.0 mekanizmasının avantajından faydalanan ortadaki adam atağıdır.

REST, Web protokolleri ve teknolojilerini kullanan bir dağıtık sistemdir. REST prensiplerini sağlayan sistemler, RESTful olarak sıfatlandırılır. Temsilî Durum Aktarımı ismindeki temsilî, verinin temsilini kastetmekte olup onunla ilgili durumun aktarılması olarak düşünülebilir.

<span class="mw-page-title-main">Squid (yazılım)</span>

Squid, HTTP ve FTP gibi web servisleri için proxy önbellekleme yapan aynı zamanda internet çıkışlarınızı filtreliyerek yönetmenizi sağlayan bir proxy server’dır. Öncelikli olarak HTTP ve FTP için kullanılsa da, TLS, SSL, Internet Gopher ve HTTPS gibi birkaç farklı protokole de sınırlı bir şekilde destek sağlayabilmektedir. Squid başta Unix türevi işletim sistemleri için bir daemon olarak tasarlanmıştır. 2.7 versiyonu ile windows port eklenmiştir. Yeni versiyonlar Cygwin ortamını kullanan windowslar için çalışabilmektedir. Squid GNU Genel Kamu Lisansı altında yayınlanan bir özgür yazılımdır.

Sunucu Adı Göstergesi (SNI) bir TLS protokolü uzantısı. Güvenli SSL bağlantısı oluşturulurken el sıkışma (handshake) sürecinin başlagıcında, istek içerisinde geçen sunucu adının (hostname) dijital sertifikasını doğrular. SNI teknolojisi aynı IP adresi ve TCP portu üzerinden birden fazla güvenli web sitesi için doğrulama işlemini gerçekleştirdiğinden, daha önceden SSL kullanmak için gerekli olan sabit IP zorunluluğunu ortadan kaldırır.

<span class="mw-page-title-main">Wget</span>

GNU Wget, internet ağı üzerinden dosyalar indirmeye yarayan, komut satırı üzerinden kullanılan bir indirme yöneticisi. GNU Tasarısının parçasıdır.

HTTP/2 Dünya Çapında Ağ Birliği tarafından kullanılan HTTP ağ protokolünün ikinci ana sürümüdür. SPDY tabanlıdır. HTTP/2, İnternet Mühendisliği Çalışma Kolu'nun Hiper Metin İletim Protokolü çalışma grubu(httpbis, bis burada “tekrar” veya “iki defa” anlamına gelmektedir.) tarafından geliştirilmiştir. HTTP/2, 1997'de RFC 2068 bünyesinde standart haline getirilen HTTP 1.1'den beri gelen ilk yeni HTTP sürümüdür. Çalışma grubu HTTP/2'yi IESG'ye önerilen standart olarak incelenmesi için 2014 Aralık ayında sunmuştur ve IESG 17 Şubat 2015'te bunun önerilen standart olarak yayınlanmasını onaylamıştır. HTTP/2 belirtimi 2015 Mayıs ayında RFC 7540 olarak yayınlanmıştır.

<span class="mw-page-title-main">WebSocket</span> bilgisayar iletişim protokolü

WebSocket, tek bir TCP bağlantısı üzerinden tam çift yönlü iletişim kanalı sağlayan bir bilgisayar iletişim protokolüdür. WebSocket protokolü IETF tarafından 2011 yılında RFC 6455 ile standart hale getirilmiş ve WebIDL içerisindeki WebSocket API W3C tarafından standart hale getirilmektedir.

Uygulama güvenlik duvarı (İngilizce: Application Firewall), girdi ve çıktıları bir uygulama veya hizmetle denetleyen bir güvenlik duvarı biçimidir . Güvenlik duvarının gerekliliklerini karşılamayan girdi,çıktı ve sistem servis çağrılarını engelleyerek çalışır. OSI Modelindeuygulama katmanı düzeyinde çalışır. OSI katmanı üzerindeki tüm ağ trafiğini uygulama katmanında kontrol etmek için oluşturulmuştur. Belirli bir uygulama olmadan ilgili ağ trafiğini kontrol edemeyen durumlu ağ güvenlik duvarının aksine, uygulamaları veya hizmetleri kontrol edebilir. Uygulama güvenlik duvarları, ağ tabanlı uygulama güvenlik duvarları ve bilgisayar tabanlı uygulama güvenlik duvarları olmak üzere ikiye ayrılır.

İndirgeme saldırısı veya sürüm geri alma saldırısı, bir bilgisayar sistemine veya iletişim protokolüne yapılan yüksek kaliteli çalışma modunu terk etmesini sağlayarak genellikle eski sistemlerle geriye dönük uyumluluk için sağlanan daha eski, daha düşük kaliteli bir çalışma moduna geçiş yapılmasıyla gerçekleşen bir kriptografik saldırı türüdür. OpenSSL'de, saldırganın istemci ve sunucu arasında TLS'nin daha düşük bir sürümünün kullanılmasını müzakere etmesine izin veren böyle bir kusur örneği bulundu. Bu, en yaygın sürüm indirgeme saldırı türlerinden biridir. Başka bir örnek ise, web trafiğini sırasında araya girmek ve kullanıcıyı bir web sitesinin güvenli, HTTPS sürümünden şifrelenmemiş bir HTTP sürümüne yönlendirmektir.

<span class="mw-page-title-main">Ispmanager</span>

Ispmanager ticari bir web sunucusu ve web sitesi kontrol panelidir. Komut satırı veya manuel ayarlar kullanmadan hizmetlerle çalışmaya izin verir. Ürün çok çeşitli işlevleri destekler ve WCAG ile tasarlanmış görsel bir arayüze sahiptir. Ispmanager, Linux dağıtımlarına dayalı sunucuları destekler ve hem fiziksel sunuculara hem de sanal makinelere (VPS/VDS) kurulabilir.