Atunci când un site web, cum ar fi un magazin online, se află în centrul afacerii dvs., capacitatea site-ului de a servi clienții prin spații de trafic și eșecuri bruște ale serverului poate însemna diferența dintre o victorie mare și o pierdere frustrantă.
Deci, în timp ce înființați un singur server virtual pentru această lucrare este mai ușor decât oricând, merită luați câteva momente pentru a lua în considerare un cluster cu disponibilitate înaltă. Într-un cluster, în loc să ruleze totul pe o singură mașină, diferitele părți ale arhitecturii serverului sunt gestionate de instanțe separate ale serverului. Într-o astfel de configurație, puteți scala serverul adăugând mai mulți lucrători atunci când sarcina crește și menține serverul să fie difuzat chiar dacă unul sau mai mulți dintre lucrători se întrerupe din orice motiv.
Când sunteți bine pregătit, puteți să vă asigurați că vânzările din acest an din Black Friday sau o caracteristică bruscă nu vă vor aduce în jos magazinul online.
În acest tutorial, veți învăța cum să utilizați serviciile ClusterCS și Amazon Web Services pentru a crea un cluster scalabil de servere și pentru a le utiliza pentru a găzdui un site WordPress pentru un site Web e-commerce bazat pe WooCommerce.
ClusterCS este un panou de control pentru serverele din cloud. Acesta aduce puterea panourilor de control regulate pe serverele virtuale și dedicate, colectându-le pe toate în spatele unei singure interfețe. Instrumentul a fost creat inițial pentru gestionarea conturilor de găzduire gestionate de Soft Dreams, compania din spatele acestuia, astfel încât a fost bine testată în medii de producție în viața reală.
ClusterCS acceptă aplicații multi-server, cum ar fi site-ul WordPress optimizat pentru comerțul electronic pe care îl vom construi în acest tutorial, precum și menținerea serverelor individuale.
Pentru a începe, vizitați site-ul web ClusterCS și creați un cont.
Un cont gratuit vă permite să gestionați un singur server și până la cinci domenii separate care rulează pe acesta. O configurație a clusterului împărțită pe mai multe servere necesită un cont plătit, dar mulți dintre pașii pe care îi veți vedea în tutorial se aplică și în cazul unei configurații cu un singur server.
Ca panou de control bazat pe cloud, ClusterCS funcționează cu orice server virtual sau dedicat: puteți să-l utilizați pentru a controla serverele pe Oceanul Digital, Amazon Web Services (AWS) sau chiar pe o mașină virtuală care rulează pe laptop.
În acest tutorial, vom merge cu AWS. Dacă încă nu aveți un cont AWS, înscrieți-vă pentru unul. Apoi, conectați-vă la Consola AWS pentru a crea instanțele de server pentru configurarea site-ului nostru.
Setarea pe care o vom crea în acest tutorial este după cum urmează:
livre
): Această instanță va fi partea exterioară a clusterului. De asemenea, va păstra fișierele pentru site-ul dvs. web.app1
, app2
): Aceste instanțe vor rula serverul web. Având mai mult de un server de aplicații face configurarea mai rezistentă - dacă cineva coboară, ceilalți pot continua să servească paginile aplicației. De asemenea, adăugarea mai multor servere de aplicații reprezintă o modalitate rapidă de a răspunde la creșterea traficului.db
): Baza de date separată de serverele de aplicații adaugă un nivel de securitate în timp ce baza de date este disponibilă pentru toate serverele care o utilizează.Să facem serverele să funcționeze!
Când lansați serverele pentru un cluster, este important să vă asigurați că pot vorbi unul cu celălalt și că ClusterCS le poate ajunge folosind SSH.
La serviciile Amazon Web Services configurarea firewall-ului se face folosind a Grupul de securitate. Vom crea unul la început, dar dacă aveți probleme de conexiune în orice moment, puteți întotdeauna să reveniți pentru a verifica și a modifica setările.
În meniul din partea stângă a consolei AWS EC2 Admin, faceți clic pe Grupuri de securitate. Apoi faceți clic pe Creați un grup de securitate.
În fereastra pop-up care se deschide, dați grupului dvs. de securitate un nume și o descriere. Apoi faceți clic pe Adăugați o regulă să adăugați noi reguli unul câte unul.
Mai întâi, permiteți accesul SSH din adresele IP ClusterCS 85.9.60.46/32
și 193.226.133.91/32
. Apoi, permiteți accesul HTTP și HTTPS (porturi 80
și 443
) de pretutindeni, astfel încât clienții dvs. să poată accesa site-ul dvs. Web.
În acest moment, setarea grupului dvs. de securitate va arăta astfel:
Clic Crea pentru a salva modificările.
Acum că ați creat grupul de securitate, acesta are un ID, pe care îl puteți utiliza pentru a configura accesul între instanțele de server ale clusterului.
În lista grupurilor de securitate, selectați-o pe cea pe care tocmai ați creat-o și deschideți-o Intrare tab. Veți vedea regulile pe care tocmai le-ați creat. Copiați ID-ul grupului de securitate (un șir care începe cu sg-
) și faceți clic pe Editați | × pentru a modifica regulile.
Adăugați o regulă nouă cu ID-ul grupului de securitate ca sursă de trafic. Puteți alege să permiteți tot traficul TCP din această sursă sau, dacă preferați să fiți mai specific, utilizați următoarea listă de porturi: 80
, 443
, 25
, 110
, 143
, 465
, 587
, 993
, 995
, 2049
, 111
, 892
, 662
, 32803
, 21
, 2049
, 111
, 892
, 662
, 32769
, 8080
, 8081
, și 8082
.
În acest moment, configurația dvs. va arăta astfel:
Pentru a vă conecta la instanțele AWS de pe computer, adăugați o regulă SSH pentru adresa IP. Consola AWS are o opțiune pentru aceasta ("IP-ul meu"), deci nu este nevoie să căutați IP-ul.
În cele din urmă, pentru a permite accesul FTP pentru încărcarea fișierelor în clusterul de servere, adăugați porturi 21
și 50500
-50900
.
Odată ce ați terminat, sunteți gata să porniți câteva servere.
Cu grupul dvs. de securitate instalat, este timpul să lansați instanțele AWS pentru cluster. AWS vă oferă multe opțiuni pentru personalizarea serverelor virtuale, dar, de cele mai multe ori, opțiunile implicite sunt o alegere bună.
Reveniți la tabloul de bord EC2 și faceți clic pe Lansați instanța buton.
Dând clic pe buton, începe un expert în șapte pași pentru lansarea serverului.
La pasul 1, puteți selecta imaginea de bază pentru serverul virtual. Alegeți prima opțiune, Amazon Linux AMI, făcând clic pe Selectați butonul de lângă el.
În pasul 2, alegeți un tip de instanță care să se potrivească nevoilor site-ului dvs. web; o instanță mai mică nu va fi capabilă să se ocupe de un trafic mai mare ca unul mai mare, dar unul mai mare va fi mai scump. Luați în considerare rolurile pe care le vor juca mașinile în grupul dvs. De exemplu, puteți adăuga rapid servere noi de aplicații ca răspuns la o creștere a încărcării serverului, dar adăugarea de resurse de bază de date este mult mai dificilă. De aceea este o idee bună să rulați baza de date pe un server mai puternic cu mai multă memorie decât pe serverele de aplicații.
În pașii 3 până la 5 din Expertul de lansare, treceți prin opțiuni pentru a vedea dacă există ceva pe care doriți să îl modificați - dar, cel mai probabil, opțiunile implicite vor fi bune pentru setarea dvs..
La pasul 6, alegeți opțiunea Selectați un grup de securitate existent, și alegeți grupul de securitate pe care l-am definit mai sus.
În cele din urmă, examinați setările și dați clic pe Lansa pentru a porni instanțele.
Ca ultim pas, AWS vă va cere să specificați și să descărcați o pereche de chei SSH pentru a accesa serverele.
Selectează Creați o pereche nouă de chei și introduceți un nume descriptiv pentru perechea de taste. Apoi apasa Descărcați o pereche cheie pentru a descărca fișierul cu chei private.
Salvați cheia într-un loc sigur pe computer. Îmi place să plasez toate cheile mele SSH în ~ / .Ssh
, dar puteți alege orice locație.
Odată ce ați descărcat cheia, Lansați instanțe butonul devine clicabil. Faceți clic pe acesta și așteptați câteva minute pentru ca instanțele să înceapă.
Dacă porniți instanțe unul câte unul, repetați procesul pentru următoarele instanțe până când toate cele patru servere pentru cluster sunt în funcțiune.
AWS atribuie adresele IP instanțelor dvs. atunci când le porniți. Oprirea unei instanțe își eliberează adresa IP. Deoarece ClusterCS se bazează pe adresele IP ale serverului pentru a le conecta, acest lucru poate duce la probleme dacă, din orice motiv, este necesar să reporniți instanțele.
Pentru a trece peste această problemă, puteți utiliza caracteristica Elastic IP Addresses AWS.
O adresă IP elastică este o adresă IP permanentă pe care o puteți atașa la oricare dintre instanțele dvs. de server. Prin utilizarea acelei adrese în configurația dvs. ClusterCS, puteți să o mențineți îndreptată spre instanță, chiar dacă instanța este oprită.
Click pe E-uri elastice în meniul din partea stângă a Consolei AWS. Apoi faceți clic pe Alocați o nouă adresă buton.
Selectați VPC ca domeniu, și faceți clic pe Aloca. O adresă IP este alocată imediat pentru utilizare.
Faceți clic dreapta pe adresa IP și selectați Adresa asociată pentru a conecta IP-ul la o instanță a serverului EC2.
Faceți clic pe Instanță câmp text. Apoi, selectați o instanță dintr-un meniu derulant afișând toate instanțele. În cele din urmă, faceți clic pe Asociat. Repetați procesul pentru restul instanțelor dvs. EC2.
Acum, serverele dvs. pot fi accesate utilizând adresa IP elastică, chiar și după ce au fost reluate.
Odată ce instanțele dvs. EC2 funcționează, înainte de a trece la ClusterCS, este bine să verificați dacă vă puteți conecta la acestea.
Mai întâi, schimbați permisiunile cheii SSH:
chmod 400 ~ / .ssh / key_name.pem
Apoi, căutați adresa IP publică a instanței (IPv4 Public IP) Din tabloul de bord EC2:
Apoi, conectați-vă la el, de exemplu utilizând clientul de linie de comandă (sau PuTTY dacă utilizați Windows):
ssh -i ~ / .ssh / tutorial-clustercs.pem [email protected]
Dacă întâmpinați probleme la conectare, reveniți la setările Grupului de securitate și asigurați-vă că toate porturile necesare sunt accesibile.
Când vedeți că vă puteți conecta la server, sunteți gata să treceți la ClusterCS pentru a configura software-ul pentru serverele din cluster.
Instanțele de server sunt acum în curs de funcționare. Este timpul să le configurați pentru a-și face partea în rularea site-ului dvs. de e-commerce ca părți ale unui cluster cu mai multe servere. Vom face acest lucru folosind panoul de control ClusterCS.
Administratorul ClusterCS este împărțit în două părți: Servere și domenii.
Secțiunea Servere definește sistemul de bază: configurația serverului și software-ul care rulează pe una sau mai multe mașini care o formează. Partea Domenii, la care vom analiza puțin, specifică conturile clienților și site-urile care rulează în partea superioară a configurației de nivel inferior.
Click pe Gestionați serverele pentru a începe configurarea clusterului. Dacă utilizați versiunea gratuită, nu veți putea crea un cluster, dar pașii în configurarea unui singur server sunt foarte asemănători cu ceea ce vom face în această parte a tutorialului.
Click pe Adăugați Cluster.
Apoi, în pagina următoare, derulați în jos până la Adăugați un server nou secțiune. Acolo, veți vedea câteva instrucțiuni, urmate de un formular.
Pentru a adăuga primul server în cluster, completați formularul cu următoarele informații:
EC2-utilizator
livre
pentru balancerul de sarcină și app1
pentru primul server de aplicații și așa mai departe.Când alegeți "tasta SSH" ca tip de conectare, apare o zonă de text pentru introducerea tastei SSH. Copiați conținutul .PEM
fișierul pe care l-ați descărcat de la AWS la pornirea mașinilor și inserați-l în această zonă de text. Paraseste Parola cheie SSH câmp gol.
Odată ce toate datele sunt în vigoare, faceți clic pe Următor →.
ClusterCS se va conecta acum la server și va verifica dacă respectă cerințele setării. După finalizarea verificării, veți vedea următoarele rezultate.
Click pe Adăugați serverul în Pool Cluster.
Veți vedea că serverul a fost adăugat la lista serverelor care vor alcătui grupul dvs..
Derulați în jos și repetați procesul pentru celelalte trei servere.
Numai atunci, faceți clic pe Continuați cu configurarea pentru a configura clusterul și serviciile pe care doriți să le executați pe serverele sale diferite.
Acum, că toate serverele sunt disponibile pentru utilizarea ClusterCS, puteți porni partea distractivă a alegerii rolurilor pentru fiecare dintre servere.
Dați instalării un nume și alegeți o rețetă, o configurație a șabloanelor, care să fie utilizată ca bază pentru configurare.
ClusterCS vine cu un punct de pornire optimizat pentru aplicațiile bazate pe PHP, numite Server web inteligent (LAMP optimizat). Pe o singură configurare a mașinii, unde întreaga configurație rulează pe un singur server, această rețetă este gata să fie utilizată din cutie.
Într-o configurație de cluster, va trebui să faceți o configurație puțin mai mare.
Clic Personalizați pentru a deschide o vizualizare detaliată. Veți vedea următoarea listă de "straturi", combinații de module software care împreună oferă serverelor capacitățile lor. Toate funcționalitățile dintr-un strat pot fi configurate și puteți crea noi straturi și adăuga noi aplicații celor existente.
Începeți de la primul strat, Firewall, dedând clic pe Administra link-ul de lângă titlul său. Veți vedea următoarea vedere pentru specificarea detaliilor acestui strat.
În partea stângă, puteți alege modulele care alcătuiesc stratul (vom folosi setul implicit de module, astfel încât să puteți lăsa acea parte ca atare).
În partea dreaptă, puteți selecta serverele care vor rula acest strat. Un paravan de protecție este ceva ce trebuie să aibă fiecare server din cluster, deci selectați toate cele patru servere făcând clic pe numele acestora.
Apoi apasa Salvați pentru a reveni la vizualizarea de configurare a clusterului. Acum, stratul Firewall arată astfel:
Treceți prin restul straturilor din cluster și creați următoarea configurație:
Strat | Servere |
---|---|
Firewall | livre , db , app1 , app2 |
Manager inteligent de trafic | livre |
webserver | app1 , app2 |
Bază de date | db |
Nefolosit, eliminați din configurație | |
Webmail | Nefolosit, eliminați din configurație |
Depozitare | livre , app1 , app2 |
Utilități | app1 , app2 |
În acest tutorial, nu este nevoie de e-mail, așa că am eliminat straturile legate de e-mail din configurație. Dacă doriți să utilizați e-mailul în configurația dvs., vă sugerăm să adăugați o instanță de server separată pentru aceasta. În acest fel, problemele cu serverul dvs. web nu vor interfera cu adresa dvs. de e-mail și invers.
Am activat stratul Storage de pe mașina de echilibrare a încărcăturii, precum și pe serverele de aplicații. Mai târziu, când configuram site-ul, vom selecta livre
server ca cel care își păstrează fișierele. Celelalte două mașini vor fi montate pe el folosind NFS, astfel încât și ei vor avea acces la date. În acest fel, site-ul dvs. web nu va depinde de niciun server de aplicații și puteți să-l scalați liber și în sus.
Când totul arată bine, faceți clic pe Salvați pentru a salva configurația și a începe procesul de instalare pe servere.
Configurarea va dura aproximativ 20 de minute, în funcție de dimensiunea clusterului.
Ați creat acum un cluster server cu un server de bază de date, două servere de aplicații și un balancer de sarcină, direcționând cu atenție traficul către diferite instanțe. Este timpul să începeți să utilizați clusterul, creând un site Web care să ruleze pe acesta.
Click pe domenii din meniul de sus al ClusterCS.
Apoi faceți clic pe Adăugați un domeniu.
Pe acest ecran, specificați cum este utilizat clusterul (sau un singur server) pentru domeniul dvs..
Când setarea arată bine, faceți clic pe Adăuga.
După ce textul portocaliu "În curs de desfășurare" se modifică la "Activ", domeniul este gata de utilizare. Acest pas durează doar câteva minute.
Pe orice site web care gestionează informații sensibile despre clienți, cum ar fi comenzile oamenilor dintr-un magazin online, este recomandat să utilizați SSL pentru a cripta traficul între utilizator și server.
Folosind ClusterCS, SSL este ușor de configurat. În tabloul de bord pentru domenii, faceți clic pe SSL. Veți vedea trei modalități diferite de configurare a SSL.
Vom merge cu "Let's Encrypt", o autoritate de certificare gratuită și de încredere, susținută de organizații mari precum Mozilla și creată pentru a grăbi mutarea web pentru navigarea securizată.
Click pe Instalați-ne să criptați pentru a porni configurarea.
Dați certificatului un nume, introduceți adresa de e-mail și selectați numele domeniilor pentru care doriți să creați certificate. Verifică Reînnoirea automată astfel că veți avea întotdeauna un certificat SSL valabil.
Apoi faceți clic pe start , acceptați fereastra de confirmare care se afișează și așteptați să se finalizeze generarea certificatului.
Când certificatul este gata, veți vedea un ecran cu informațiile sale.
Certificarea SSL pentru certificare SSL este acum gata de utilizare.
Configurați paravanul de protecție al clusterului server pentru a permite accesul la balancerul de încărcare din portul 443 și site-ul dvs. Web este gata să accepte traficul HTTPS.
Pe Servere tablou de bord, alături de cluster, faceți clic pe Firewall. Apoi derulați în jos în partea de jos a paginii pentru a adăuga o nouă regulă.
Configurați noua regulă de firewall folosind următoarele informații:
livre
(instanța dvs. de echilibrare a încărcăturii)orice
orice
443
Faceți clic pe Adăuga pentru a adăuga configurația și apoi pe aplica pentru a executa modificările din serverul dvs. de cluster.
Acum sunteți gata să configurați WordPress. Frumusețea acestei configurații ClusterCS este că, deși utilizați mai multe servere, instalarea nu diferă de ceea ce ați face cu un singur server sau gazdă partajată.
Începeți prin crearea bazei de date. În domenii tablou de bord, selectați Baze de date. Apoi faceți clic pe Adăugați baza de date.
În pagina următoare, introduceți un nume pentru baza de date (de exemplu, wordpress
) și faceți clic pe Crea.
În pagina următoare, veți observa că baza de date a fost adăugată acum.
Faceți clic pe Adăugați un utilizator nou pentru a crea un utilizator nou.
Când setarea vă cere să alegeți gazda pe care utilizatorul bazei de date o poate conecta la baza de date, selectați Anyhost. Acest lucru va permite serverelor de aplicații să se conecteze la baza de date, chiar dacă rulează pe servere separate.
Când ați adăugat utilizatorul, faceți clic pe Asociat lângă numele utilizatorului, pentru a permite utilizatorului accesul la baza de date respectivă.
Pe pagina următoare, veți putea alege permisiunile pentru utilizatorul din această bază de date. Click pe Selectați toate pentru a oferi utilizatorului accesul deplin la baza de date. Apoi faceți clic pe Asociat utilizator pentru a aplica aceste modificări.
Baza de date este acum pregătită pentru a fi utilizată.
Descărcați ultima versiune WordPress și utilizați FTP (utilizând numele de utilizator și parola pe care le-ați specificat când creați domeniul) pentru al încărca pe noul site. Dacă ați configurat deja setările DNS, conectați-vă la adresa URL a domeniului dvs. De asemenea, puteți utiliza adresa IP publică a instanței balancerului de încărcare.
Când ați încărcat WordPress pe site-ul dvs. public_html
, deschideți adresa URL a site-ului web în browser și executați instalarea WordPress.
Utilizați următoarele informații de bază de date:
Când instalarea dvs. WordPress este gata, continuați prin a configura WooCommerce și orice alte pluginuri și teme pe care doriți să le utilizați pe site-ul dvs. de comerț electronic.
Apoi, reveniți pentru unele optimizări finale și pentru a afla cum să vă scalați clusterul în sus și în jos.
Ați configurat acum un site Web WordPress cu mai multe servere pe ClusterCS. Site-ul este sigur, stabil, bine organizat și ușor de scalabil. Dar ce anume faceți atunci când magazinul dvs. online sau alt site web devine o mulțime de trafic și este timpul să extindem serviciile?
Aici veți vedea puterea unei configurații de cluster: datorită muncii pe care am făcut-o în față, când aveți nevoie de mai multă putere de procesare, puteți adăuga pur și simplu mai multe servere la cluster.
Mai întâi, lansați o nouă instanță de server pe AWS, asigurându-vă că utilizează aceeași pereche de chei SSH și aparține aceluiași grup de securitate ca celelalte servere din cluster.
Apoi, în ClusterCS gestionaţi Servere tablou de bord, faceți clic pe Administra pentru a actualiza preferințele clusterului.
Derulați complet în jos și faceți clic pe Adăugați servere.
Repetați pașii pentru adăugarea unui server din grupul de grupuri de mai sus.
Clic Continuați să configurați și configurați straturile pentru server. Selectați tot software-ul ca și pe app1
și app2
servere. Apoi apasa Salvați pentru a aplica modificările și a aștepta până la finalizarea configurației.
Site-ul dvs. rulează acum pe trei servere de aplicații în loc de două.
La fel de ușor ca adăugarea de servere noi în cluster este, nu este singurul lucru pe care îl puteți face pentru a răspunde cerințelor crescânde ale serverului. În Viteză din tabloul de bord al domeniilor ClusterCS, puteți configura reguli pentru modul în care vor fi tratate cererile care vin pe site-ul dvs. Web.
Așa cum ați folosit rețeta "Smart web server" pentru a porni clusterul, aveți deja anumite optimizări: în timp ce traficul PHP este gestionat de Apache, există o regulă, "Fișiere statice la Lighttpd", care le spune balancerului de sarcină cererile pentru fișiere statice, cum ar fi imaginile către Lighttpd, pentru a lua ceva încărcare de pe Apache.
Sub această regulă, veți observa o secțiune pentru configurarea propriilor seturi de configurare.
Există multe lucruri pe care le puteți face cu acest instrument, dar vom examina unul dintre cele mai eficiente: caching-ul unei singure pagini utilizând Nginx.
Completați următoarele informații: