De ce ar trebui să vă concentrați pe îmbunătățirea performanței Drupal cu Nginx

Publicat: 2018-01-14

Știm cu toții că Drupal este locul în care flexibilitatea se întâlnește cu simplitatea. Un CMS conceput pentru a fi soluția perfectă pentru utilizatorii non-tehnici, Drupal este un sistem unificat care se străduiește să aibă punctele forte ale unui sistem de management al conținutului și ale unui cadru de management al conținutului. Deci, indiferent de ceea ce un constructor de site caută să creeze (de la un site de știri sau un magazin online la o rețea socială sau un site web foarte complex al guvernului), este doar o chestiune de a combina modulele potrivite pentru dezvoltarea perfectă a Drupal. Se știe că Nginx este acest server web super-puternic care poate fi folosit pentru a stoca în cache, a echilibra încărcarea, proxy invers și multe altele pentru a îmbunătăți performanța unui site web. Combinația Drupal Nginx poate duce la o performanță maximă. Să vedem de ce ar trebui să alegeți Nginx pentru următorul dvs. proiect Drupal.

Drupal s-a actualizat constant, iar cea mai nouă versiune a sa este dovada modului în care acest CMS open-source a evoluat rapid într-unul dintre cele mai căutate cadre (aproape 1 milion de site-uri web folosesc Drupal 7 conform unui raport al Drupal.org). versiunea Drupal-Drupal 8 și-a avut utilizatorii la marginea locurilor lor cu unele dintre cele mai interesante caracteristici.

Unele dintre aceste caracteristici ale Drupal 8 sunt:

  • Serviciu web din cutie: au dispărut vremurile în care site-urile web erau doar pentru desktop, iar serviciile web erau folosite doar pentru site-urile web care utilizau un serviciu de la alte sisteme. Cu o varietate de dispozitive în imagine, serviciile web în lumea actuală sunt mai importante ca niciodată. În timp ce serviciile web sunt acceptate de un modul terță parte în Drupal 7, acesta a fost inclus în nucleul Drupal 8.
  • Îmbunătățiri de securitate: securitatea a fost întotdeauna o preocupare și, odată cu adăugarea de noi funcții, Drupal 8 a creat modalități de a face sistemele mai sigure.
  • Mai ușor și mai rapid: cu Drupal 8, API-ul Drupal este complet RESTful, făcându-i mai ușor pentru dezvoltator să folosească Angular.js, Ember.js și multe alte instrumente de afișare fără prea multe bătăi de cap.
  • Îmbunătățiri mobile: așa cum am vorbit mai devreme, dispozitivele mobile sunt forța motrice în lumea de astăzi. Drupal 8 oferă suport complet pentru șabloanele de site-uri mobile, însoțite de o administrare ușoară back-end de pe un dispozitiv mobil.

Deoarece majoritatea acestor funcții acceptă unele dintre cele mai mari și complexe site-uri care generează mult trafic și sunt vulnerabile la probleme de performanță, devine important să tratați aceste probleme cât mai curând posibil, deoarece forța motrice a creșterii traficului nu se limitează doar la clienți și servere, dar și între serverele back-end. Implementarea Nginx cu site-ul dvs. Drupal 8 poate rezolva toate problemele legate de server și poate crește performanța site-ului.

Arhitectura site-ului cu Drupal Nginx

O gamă largă de site-uri web Drupal utilizează inițial serverul Apache HTTP ca server web și faptul că instrucțiunile pentru configurarea acestuia sunt disponibile pe scară largă îl face prima alegere printre mulți proprietari de site-uri web. Dar pe măsură ce site-ul web crește și începe să genereze mai mult trafic, atunci oamenii trec la serverul NGINX. În această etapă, cu dificultăți în a suporta mai mult de 10.000 de conexiuni simultan la întregul server care se blochează sau se prăbușește, Drupal și Apache împărtășesc probleme greu de depășit.

Având în joc vulnerabilitatea site-ului, Drupal 8 NGINX este alegerea preferată de către organizații pentru a stabiliza arhitectura site-ului. În loc să se schimbe serverele și să se provoace probleme, se pot lua mai mulți pași pentru a rezolva astfel de probleme legate de performanță pe măsură ce site-ul crește.

  • NGINX, ca primă alegere pentru serverul web al site-ului dvs. Drupal, îmbunătățește performanța și reduce drastic utilizarea memoriei.
  • NGINX este unul dintre cele mai populare servere proxy inverse pentru o serie de site-uri Drupal, deoarece poate gestiona traficul de internet și poate reduce sarcina pe serverul dvs. de aplicații.

Server Web

O remediere rapidă care poate avea grijă de performanța, securitatea și flexibilitatea site-ului dvs. Drupal este trecerea de la Apache la NGINX ca server web pentru site-ul dvs. O problemă comună care bântuie majoritatea serverelor web este problema C10K - dificultatea pe care o au serverele web în a suporta conexiuni simultane (de obicei nu mai mult de 10.000 de conexiuni deodată). NGINX a fost conceput pentru a rezolva această problemă specială. Cu capacitatea de a rula o buclă de evenimente în curs de desfășurare care gestionează cererile pe măsură ce apar, fără a aloca resurse solicitanților, Drupal NGINX elimină suprasarcina pe care o implică procesul de bifurcare a unui nou proces pentru fiecare nouă conexiune.

Server proxy invers cu Drupal 8 Nginx

Un server proxy invers nu este ca serverele dumneavoastră obișnuite. Acest server primește cererile de la browsere și, în loc să le proceseze imediat, examinează fiecare cerere și decide ce acțiune să întreprindă asupra acesteia: fie să realizeze cererea de la sine, fie să o trimită către un alt server pentru îndeplinire.

Implementarea unui astfel de server este primul pas în crearea unei arhitecturi de site care să permită flexibilitate, redundanță, securitate îmbunătățită și un coș plin cu alte lucruri bune. Unul dintre principalele motive pentru care un server proxy invers ar putea ajuta la performanța unui site web este faptul că comunicarea dintre serverele web este mai rapidă decât comunicarea prin internet. Și această comunicare cu alte servere web din servirea proxy inversă este în esență gratuită.

Astfel, prin adăugarea unui server proxy invers, site-ul dvs. Drupal este liber să gestioneze direct întregul trafic de Internet. Acest server se ocupă imediat de un site care se prăbușește sub presiunea traficului uriaș, a problemelor de securitate și a problemelor de performanță. Odată cu introducerea de noi flexibilități în arhitectura site-ului, un server proxy invers permite noi capabilități și funcții care pot rula eficient fără a afecta serverul de aplicații.

Servere de aplicații multiple și echilibrare a încărcăturii

Este foarte imposibil să obțineți performanțe mai bune cu un singur server de aplicații. Dar serverele mai mari și mai rapide sunt potențial costisitoare și, deoarece un singur dispozitiv are întotdeauna o performanță inerentă, trebuie să actualizați sau să înlocuiți dispozitivul actual (o operațiune extrem de perturbatoare) pentru mai multă performanță. Aici intră în imagine un server proxy invers. Acest server permite utilizarea mai multor servere de aplicații, ceea ce asigură o performanță mai bună Drupal prin simpla adăugare de servere suplimentare în sistem. Acest proces de adăugare și eliminare a serverelor poate fi simplificat cu instrumentele software potrivite, cum ar fi NGINX Plus, care reduce într-o mare măsură timpul de nefuncționare.

Prezența mai multor servere de aplicații înseamnă că trebuie să existe o tehnică pentru a decide care server primește următoarea solicitare. Tehnicile variază de la o abordare simplă la una complexă în care fiecare server este examinat de sistem pentru a afla care dintre ele este cel mai puțin ocupat înainte de a trimite o solicitare. Aceasta este cunoscută sub denumirea de Load Balancing. Serverul NGINX și NGINX Plus acceptă cinci tehnici de echilibrare a încărcăturii care ajută la îmbunătățirea performanței Drupal.

Verificați acest fișier de configurare oficial Drupal 8 Nginx recomandat de Nginx pentru a începe să-l implementați pe site-ul dvs. web Drupal 8.