Neden Nginx ile Drupal Performansını Geliştirmeye Odaklanmalısınız?
Yayınlanan: 2018-01-14Drupal'ın esnekliğin basitlikle buluştuğu yer olduğunu hepimiz biliyoruz. Teknik bilgisi olmayan kullanıcılar için mükemmel bir çözüm olarak tasarlanmış bir CMS olan Drupal, bir içerik yönetim sisteminin ve bir içerik yönetim çerçevesinin güçlü yanlarına sahip olmaya çalışan birleşik bir sistemdir. Bu nedenle, bir site oluşturucunun ne yaratmaya çalıştığından bağımsız olarak (bir haber sitesinden veya çevrimiçi mağazadan bir sosyal ağ veya son derece karmaşık devlet web sitesine kadar), bu sadece mükemmel Drupal geliştirme için doğru modülleri birleştirme meselesidir. Nginx, bir web sitesinin performansını artırmak için önbelleğe almak, yük dengelemek, proxy'yi tersine çevirmek ve çok daha fazlasını yapmak için kullanılabilen bu süper güçlü web sunucusu olarak bilinir. Drupal Nginx kombinasyonu, maksimum performansa neden olabilir. Bir sonraki Drupal projeniz için neden Nginx'i seçmeniz gerektiğine bakalım.
Drupal sürekli kendini güncelliyor ve en yeni sürümü, bu açık kaynaklı CMS'nin nasıl hızla en çok aranan çerçevelerden birine dönüştüğünün kanıtı (Drupal.org tarafından hazırlanan bir rapora göre yaklaşık 1 milyon web sitesi Drupal 7 kullanıyor) Daha yeni Drupal-Drupal 8'in sürümü, en heyecan verici özelliklerden bazılarıyla kullanıcılarını koltuklarının kenarında tuttu.
Drupal 8'in bu özelliklerinden bazıları şunlardır:
- Kullanıma hazır web hizmeti: Web sitelerinin yalnızca masaüstü için olduğu ve web hizmetlerinin yalnızca diğer sistemlerden bir hizmet kullanan web siteleri için kullanıldığı günler geride kaldı. Resimdeki çeşitli cihazlarla, günümüz dünyasında web servisleri her zamankinden daha önemli. Web servisleri Drupal 7'de 3. parti bir modül tarafından desteklenirken, Drupal 8 çekirdeğine dahil edilmiştir.
- Güvenlik İyileştirmeleri: Güvenlik her zaman bir endişe kaynağı olmuştur ve yeni özelliklerin eklenmesiyle Drupal 8, sistemleri daha güvenli hale getirmenin yollarını açmıştır.
- Daha Kolay ve Daha Hızlı: Drupal 8 ile, Drupal API tamamen RESTful olup, geliştiricinin Angular.js, Ember.js ve diğer birçok görüntüleme aracını fazla güçlük çekmeden kullanmasını kolaylaştırır.
- Mobil İyileştirmeler: Daha önce de bahsettiğimiz gibi, mobil cihazlar günümüz dünyasının itici gücüdür. Drupal 8, bir mobil cihazdan kolay arka uç yönetimiyle birlikte mobil site şablonları için tam destek sağlar.
Bu özelliklerin çoğu, çok fazla trafik çeken ve performans sorunlarına karşı savunmasız olan en büyük ve karmaşık sitelerden bazılarını desteklediğinden, trafik artışındaki itici güç yalnızca müşterilerle sınırlı olmadığı için bu sorunları mümkün olan en kısa sürede ele almak önemli hale gelir. ve sunucular arasında değil, aynı zamanda arka uç sunucular arasında. Nginx'i Drupal 8 web sitenizle uygulamak, sunucuyla ilgili tüm sorunlarınızı çözebilir ve site performansını yükseltebilir.
Drupal Nginx ile Site Mimarisi
Geniş bir Drupal web sitesi yelpazesi, başlangıçta web sunucusu olarak Apache HTTP sunucusunu kullanır ve bunu yapılandırma talimatlarının yaygın olarak mevcut olması, onu birçok web sitesi sahibi arasında ilk tercih haline getirir. Ancak web sitesi büyüdükçe ve daha fazla trafik çekmeye başladıkça, o zaman insanlar NGINX sunucusuna geçer. Bu aşamada, tüm sunucunun donması veya çökmesi için aynı anda 10.000'den fazla bağlantıyı desteklemekte güçlük çeken Drupal ve Apache, üstesinden gelinmesi zor sorunları paylaşır.
Sitenin güvenlik açığı söz konusu olduğunda, Drupal 8 NGINX, site mimarisini stabilize etmek için kuruluşlar tarafından tercih edilen seçimdir. Sunucuları değiştirmek ve sorunlara neden olmak yerine, site büyüdükçe performansla ilgili bu tür sorunları çözmek için birkaç adım atılabilir.

- Drupal Sitenizin web sunucusu için ilk tercih olan NGINX, performansı artırır ve bellek kullanımını keskin bir şekilde azaltır.
- NGINX, internet trafiğini idare edebildiği ve uygulama sunucunuzdaki yükü azaltabildiği için bir dizi Drupal sitesi için en popüler ters proxy sunucularından biridir.
Web sunucusu
Drupal web sitenizin performansı, güvenliği ve esnekliğiyle ilgilenebilecek hızlı bir düzeltme, sitenizin web sunucusu olarak Apache'den NGINX'e geçiştir. Web sunucularının çoğuna musallat olan yaygın bir sorun, C10K sorunudur - web sunucularının eşzamanlı bağlantıları destekleme zorluğudur (genellikle bir kerede 10.000'den fazla bağlantı yoktur). NGINX, bu özel sorunu çözmek için tasarlanmıştır. Drupal NGINX, istek sahiplerine kaynak ayırmadan, istekleri gerçekleştikçe işleyen bir devam eden olay döngüsü çalıştırma yeteneğiyle, her yeni bağlantı için yeni bir işlem çatallama sürecinin maruz kaldığı ek yükü ortadan kaldırır.
Drupal 8 Nginx ile Ters Proxy Sunucusu
Ters proxy sunucusu, normal sunucularınız gibi değildir. Bu sunucu, tarayıcılardan gelen istekleri alır ve bunları hemen işleme koymak yerine, her bir isteği inceler ve hangi işlemin yapılacağına karar verir: ya isteği kendi başına gerçekleştirmek ya da yerine getirilmesi için başka bir sunucuya göndermek.
Böyle bir sunucuyu dağıtmak, esneklik, yedeklilik, gelişmiş güvenlik ve diğer iyi şeylerle dolu bir sepet sağlayan bir site mimarisi oluşturmanın ilk adımıdır. Bir ters proxy sunucusunun bir web sitesinin performansına yardımcı olmasının ana nedenlerinden biri, web sunucuları arasındaki iletişimin internet üzerinden iletişimden daha hızlı olmasıdır. Ve ters proxy hizmeti veren diğer web sunucuları ile bu iletişim aslında ücretsizdir.
Böylece bir ters proxy sunucusu ekleyerek, Drupal siteniz tüm İnternet trafiğini doğrudan yönetmekten kurtulur. Bu sunucu, büyük trafik, güvenlik sorunları ve performans sorunlarının baskısı altında çökmekte olan bir siteyle hemen ilgilenir. Site mimarisine yeni esnekliklerin eklenmesiyle, bir ters proxy sunucusu, uygulama sunucusunu etkilemeden verimli bir şekilde çalışabilen yeni yetenekler ve işlevler sağlar.
Çoklu Uygulama Sunucuları ve Yük Dengeleme
Tek bir uygulama sunucusu ile daha iyi performans elde etmek son derece imkansızdır. Ancak daha büyük ve daha hızlı sunucular potansiyel olarak pahalıdır ve tek bir cihazın her zaman doğal bir performansı olduğundan, daha fazla performans için mevcut cihazı yükseltmeniz veya değiştirmeniz gerekir (yüksek düzeyde kesintiye neden olan bir işlem). Bu, ters proxy sunucusunun resme girdiği yerdir. Bu sunucu, sisteme sadece ek sunucular ekleyerek daha iyi Drupal performansı sağlayan birden fazla uygulama sunucusunun kullanılmasına izin verir. Bu sunucu ekleme ve çıkarma işlemi, kesinti süresini büyük ölçüde azaltan NGINX Plus gibi doğru yazılım araçlarıyla kolaylaştırılabilir.
Birden çok uygulama sunucusunun varlığı, bir sonraki isteği hangi sunucunun alacağına karar vermek için bir teknik olması gerektiği anlamına gelir. Teknikler, basit bir yaklaşımdan, bir istek göndermeden önce hangisinin en az meşgul olduğunu bulmak için her sunucunun sistem tarafından incelendiği karmaşık bir yaklaşıma kadar uzanır. Bu, Yük Dengeleme olarak bilinir. NGINX sunucusu ve NGINX Plus, Drupal performansını iyileştirmeye yardımcı olan beş yük dengeleme tekniğini destekler.
Drupal 8 web sitenizde uygulamaya başlamanız için Nginx tarafından önerilen bu resmi Drupal 8 Nginx yapılandırma dosyasını kontrol edin.
