Nginx Neden WordPress Hosting'in En İyi Arkadaşıdır?
Önceki makalemde neden PHP7'nin WordPress'e gitmenin yolu olduğunu araştırdım ve bugünün makalesinde web sunucusunun sırası.
İyi bir barındırma deneyiminin büyük bir kısmı, web sunucusu yığınının nasıl yapılandırıldığıdır. Hızlı bir yığına sahip olmak, iyi WordPress performansı ve harika bir kullanıcı deneyimi için çok önemlidir. PHP7'nin WordPress performansını otomatik olarak iyileştirmenin neden bu kadar iyi bir yol olduğunu zaten tartıştım, peki ya gerçek web sunucusu?
Bugün açıklayacağım: Web sunucusu nedir, en popülerleri nelerdir ve nginx neden bu kadar iyi!
Web sunucusu
Barındırma işleminin en önemli yönlerinden biri gerçek web sunucusudur . Web sunucusu, HTML gibi statik içeriği sağlamaktan ve istemciye (yani doğrudan tarayıcınıza) göndermekten sorumludur. Bu nedenle web sunucusu, PHP işlemcisi aracılığıyla gelen tüm bilgileri işlemekten ve ağ üzerinden tarayıcınızda dolaşan bitlere dönüştürmekten de sorumlu olacaktır. Web sunucusu yığını, web sunucusunun bir sunucu (içerik sağlayıcı) ve onu talep eden istemci (siz) olarak hareket ettiği istemci / sunucu modeliyle çalışır.
En yaygın web sunucuları Apache, Microsoft'tan IIS ve tabii ki nginx'tir.
Web sunucusu, istemciye gönderilen hem statik hem de dinamik içeriği bazı küçük farklılıklarla işleyebilir. Sunucu kısmı, çalışan işlem olarak adlandırılan şekilde belleğe yüklenir ve istenen içeriği sağlamaktan sorumludur. Hem Apache hem de nginx, statik ve dinamik içeriği işler. Apache, her ikisini de aynı çalışan işlemi içinde işleyebilirken, nginx bunu yapmak için harici bir işlemciye ihtiyaç duymaz.
Apache ve nginx neden bu kadar popüler? Basit cevap, Açık Kaynak ve ücretsiz olmalarıdır. Birlikte dünyadaki tüm trafiğin neredeyse %50'sini oluşturuyorlar, bu kolay bir başarı değil!
Apache nedir?
Apache HTTP sunucusu, 1995 yılında Robert McCool tarafından oluşturuldu ve halen Apache Yazılım Vakfı altında geliştirilme aşamasındadır. Bu web sunucusu 1996'dan beri en popüler seçimdir. Tasarımda çok modülerdir, tonlarca belgeye sahiptir ve o kadar popülerdir ki tüm büyük Web Barındırma Kontrol Panellerinin temelidir. Hatta dünyanın en çok kullanılan kontrol paneli olan cPanel'e dahil edilmiştir.
Tabii ki esnek, bunu kullanan insanların büyük çoğunluğunun sorulduğunda ortaya çıkacağı bahanesi bu ve genel olarak, bu doğru. Aynı zamanda çok genişletilebilir ve modülleri dinamik olarak yükleyebildiğinden (nginx hala üzerinde çalıştığı bir şey) kolaylıkla yapılandırılabilir.
Apache, aynı çalışanda statik ve dinamik içeriği tek başına işleyebilir, bu nedenle esnekliği için mükemmeldir ancak (ve her zaman bir ama vardır) bunu performans pahasına yapar .
Apache'nin biraz yavaş olduğu biliniyor, ancak nginx'in popüler hale geldiği zamanki gibi hiçbir şey bu gerçeği ortaya çıkarmaya yaklaşmadı. Aralarındaki performans farkı göz ardı edilemeyecek bir şeydir. Sadece bu konu için, çoğu büyük şirket nginx'e geçiyor. Apache hala popüler olsa da, teknolojinin yetişmesi ve daha önce yalnızca apache üzerinde çalışan daha fazla yazılımın nginx'i içermeye başlamasıyla gelecekte işler kesinlikle değişecektir.
Peki ya Nginx?
Nginx ana Rusya'dan geliyor. 2002'de Igor Sysoev adlı bir programcı, C10K sorunu hakkında derinden endişe duyduğu için nginx üzerinde çalışmaya başladı. Ne? Basitçe söylemek gerekirse, Apache'nin ana dezavantajı ve modern web için gerçek bir meydan okuma olan aynı anda çok sayıda istemciyi işlemek için ağ soketlerini optimize etmek. İlk nginx sürümü, olay odaklı bir mimariye dayalı olarak 2004 yılında halka açıldı.
Sysoev'in kendisi bile nginx'in ne kadar başarılı olacağını göremiyordu. Nginx altında hızın muazzam faydaları ve düşük kaynak kullanımı zaman geçtikçe belirginleşti. Nginx, statik içerik sağlamanın muhteşem bir yoluna sahiptir ancak dinamik içeriği işleyemez . Bu, dinamik içeriğin aynı çalışana bağlı olmadığı ve dolayısıyla çok daha hızlı çalışabileceği için bir avantaj olduğunu da kanıtladı.
Nginx, Apache'den çok daha yüksek hacimli bağlantılara daha hızlı içerik sağlama konusunda üstündür ve şu anda mümkün olan en iyi performansı sunmak isteyen barındırma hizmetleri için seçimdir. Olay odaklı mimarisi ve asenkron doğası, performansının ana noktalarıdır.

Başlangıçta nginx'in bir ana dezavantajı vardı, bu belgeler. Programcının Rus olması ve işlevlerini belgeleme şekli nedeniyle zor bir başlangıç yaptı. Ancak zaman geçtikçe ve daha fazla insan nginx kullandıkça, belgeler son derece iyileşti.
Nginx'in diğer dezavantajı modüler tasarım eksikliğidir, bu da Apache'nin .htaccess dosyasıyla yaptığı gibi kuralları gerçek zamanlı olarak işleyemediği ve modülleri gerçek zamanlı olarak yükleyemediği anlamına gelir. Bu, nginx'in halihazırda üzerinde çalıştığı ancak Apache'nin esnekliğine uyması için zamana ihtiyacı olacak bir şeydir.
Dezavantajlar yine de üstün performansın gölgesinde kalıyor. Bu, kendi başına nginx'in performans odaklı barındırma için popüler bir seçim haline gelmesine izin verdi ve Steam kadar yaygın olarak kullanılan hizmetin temeli oldu ve her yönden tutarlı bir şekilde Apache'den daha yüksek puan alabileceğini defalarca kanıtladı.
Nginx Neden WordPress Barındırma için Tercih Edilen Seçimdir?
WordPress sitelerini barındırmak için nginx'in Apache'den çok daha iyi olduğu birkaç nokta vardır. Bunu aşağıdaki listede özetlemeye çalışacağım.
Kurulumu Kolay
Nginx eksiksiz bir pakettir, çalışması için çok az harici modül gerektirir ve çoğu zaman bunu etkinleştirmek için linux'ta yalnızca bir satır yeterlidir.
apt-get install nginx
yum install nginx
Nginx'in bir hizmet olarak aktif olması için gereken tek şey bu. Gerisi konfigürasyonda.
Apache veya başka bir web sunucusu için proxy olarak çalışabilir
Nginx, sunucunun işlevselliğini hiçbir şekilde etkilemeden proxy olarak çalıştırarak herhangi bir Apache web sunucusu yapılandırmasında anında performans artışı sağlayabilir.
Doğrudan bir mikro önbellek veya hatta fastcgi önbelleği ile çalışabilir
Nginx, yerleşik mikro önbelleği sayesinde harikadır ve performansı 10 kat hızlandırmak için bir fastcgi önbelleğiyle bile çalışabilir. Nginx ayrıca bir fastcgi önbelleği ile çalışırken muazzam bir performans artışı sağlayabilir ve harici bir önbelleğe bile ihtiyaç duymaz. memcache gibi önbelleğe alma mekanizması.
İçerik sunmak için inanılmaz derecede hızlı
Nginx, statik içerikle uğraşırken hızlı yanar ve bu tür amaçlar için yapılandırılması çok kolaydır. Tek bir kod satırı, statik içerik gibi en yaygın dosyalara erişim sağlayabilir ve performansını iyileştirebilir. Ayrıca, HttpProxyModule'u nasıl yapılandıracağınızı biliyorsanız, Web sunucusunun işlevselliğini etkilemeden Dinamik içerik için aynı düzeyde performans elde edebilirsiniz.
Apache'den neredeyse 4 kat daha fazla eşzamanlı bağlantı
Günde binlerce ziyaretin yapıldığı çok yüksek talep gören bir web sitesine ev sahipliği yapmayı düşünüyorsanız, nginx'in Apache'den dört kat daha fazla eşzamanlı bağlantı işleyebileceğini bilmeniz iyi olur, bu da 2 anlama gelir:
- Web siteniz genel olarak daha hızlı olacak
- Bunu yapmak için Apache'den daha az kaynağa ihtiyacınız olacak.
Bu, nginx'in olaya dayalı doğasından kaynaklanmaktadır ve bir sonraki faydadan sorumludur.

Çok Hafif
Nginx o kadar iyi hazırlanmış ki kaynaklar üzerinde inanılmaz derecede hafif. Bu, her bağlantı isteğini işlemek için daha az CPU zamanı kullanacağı ve bunu çok daha az bellek kullanarak yapacağı anlamına gelir. Bu, daha önce Apache'de yapamayan aynı sunucuyu kullanarak daha büyük siteleri barındırmanıza izin verecektir.
Başarısının sırrı motorun kendisinde. Nginx, olayla tetiklenen bir web sunucusu olarak çalışır; bu, çalışandaki "olayları" dinleyeceği ve yalnızca gerektiğinde yanıt vereceği anlamına gelir. Nginx içindeki ondemand argümanı, hizmetin talep üzerine dinleyicileri oluşturmasına ve kaldırmasına izin verir. Bu, bellek kullanımını azaltmaya ve verimliliği artırmaya yardımcı olur. Apache, mpm-event işçisine bir olay modu eklemeye çalıştı, ancak Apache olay güdümlü bir web sunucusu olarak oluşturulmadığından nginx hızını eşleştirmede sefil bir şekilde başarısız oldu.
Yük Dengesi yapabilir
Nginx, yük dengesi için yapılandırılabilir, dolayısıyla yükü birkaç sunucu arasında yayarak eşzamanlı bağlantı oranını daha da artırır, bu da onu çok yüksek eşzamanlı bağlantı yüküne sahip projeler için ideal hale getirir.
Bütün bunlar ne anlama geliyor?
Bu, nginx'in neredeyse her şekilde WordPress için ideal olduğu anlamına gelir. Bu, uygulamadan hemen sonra kullanmanın faydalarından yararlanacağınız anlamına gelir. Sistem yöneticisiyseniz, nginx'i yüklemek hiç de kolay değildir. Aksine, bir proje tasarlamak veya web sitenizi barındırmak ve başka bir yerde barındırmak istiyorsanız, barındırma hizmetiniz nginx kullanıyorsa, daha hızlı çalışma olasılığı gerçekten yüksektir.
WP Engine ve Flywheel gibi yüksek kaliteli barındırma şirketleri zaten nginx üzerinde çalışıyor. Ancak farklı bir barındırma şirketiyle gidecekseniz, araştırmanızı yapın veya web sunucusu yığını nginx içeriyorsa bir destek teknisyenine sorun. Hizmet kaliteliyse, yığının bir bölümünde nginx'in bulunacağını garanti edebilirim.
ev borcu WordPress sitesi