Implementarea Amazon S3 pentru blogurile WordPress

amazon s3 wordpress

Notă: De când am scris acest lucru, de atunci am migrat către volant cu Content Delivery Network alimentat de StackPath CDN, un CDN mult mai rapid decât Amazon.378

Cu excepția cazului în care vă aflați pe o platformă premium de găzduire a întreprinderilor, este dificil să obțineți performanțe de întreprindere cu un CMS de genul WordPress. Partajarea încărcării, copiile de rezervă, redundanța, replicarea și livrarea conținutului nu sunt ieftine.

Mulți reprezentanți IT vizualizează platforme precum WordPress și le folosesc pentru că sunt gratuit. Free este relativ, totuși. Puneți WordPress pe o infrastructură tipică de găzduire și câteva sute de utilizatori simultani vă pot opri site-ul. Pentru a ajuta la performanța blogului meu, săptămâna aceasta mi-am modificat instalarea WordPress împingând toate graficele de la Amazon S3 (Amazon Simple Storage Service). Acest lucru lasă serverul meu să împingă pur și simplu HTML prin PHP / MySQL.

Amazon S3 oferă o interfață simplă de servicii web care poate fi utilizată pentru a stoca și prelua orice cantitate de date, în orice moment, de oriunde de pe web. Oferă oricărui dezvoltator acces la aceeași infrastructură de stocare a datelor extrem de scalabilă, fiabilă, rapidă și ieftină pe care Amazon o folosește pentru a rula propria rețea globală de site-uri web. Serviciul își propune să maximizeze beneficiile la scară și să le transmită dezvoltatorilor.

Pentru a converti site-ul pentru Amazon S3 a fost nevoie de un pic de muncă, dar iată elementele de bază:

  1. Înscrieți-vă pentru Amazon Web Services.
  2. Încărcați programul de completare Firefox pentru S3. Aceasta vă oferă o interfață excelentă pentru gestionarea conținutului în S3.
  3. Adauga o găleată, în acest caz am adăugat www.martech.zone.
  4. Adăugați un CNAME la registratorul de domeniu pentru a direcționa un subdomeniu de pe site-ul dvs. către Amazon S3 pentru găzduire virtuală.
  5. Descărcați și instalați pluginul WordPress pentru Amazon S3.
  6. Setați ID-ul cheii de acces AWS și cheia secretă și faceți clic pe actualizare.
  7. Selectați subdomeniul / bucket-ul pe care l-ați creat mai sus pentru Folosiți această găleată setare.

wp-amazon-s3-settings.png

Următorii pași au fost partea distractivă! Nu am vrut să servesc doar conținut viitor din S3, am vrut să servesc tot conținutul, inclusiv reclame, teme și fișiere media anterioare.

  1. Am creat dosare pentru anunţuri, tematică, și Încărcări în găleată pe S3.
  2. Am făcut backup pentru tot conținutul meu curent (imagini și fișiere media) în folderele corespunzătoare.
  3. Mi-am modificat fișierul CSS în tema mea pentru a extrage toate imaginile www.martech.zone/themes.
  4. Am făcut-o Căutare și înlocuire MySQL și a actualizat fiecare referință la conținutul media care urmează să fie afișat din subdomeniul S3.
  5. Am actualizat toate referințele de imagine pentru anunțuri care să fie afișate din dosarul de anunțuri din subdomeniul S3.

De aici înainte, trebuie pur și simplu să încărc media pe S3, mai degrabă decât să folosesc dialogul implicit de încărcare a imaginii pentru WordPress. Pluginul face o treabă fantastică punând o pictogramă S3 în aceeași locație a pictogramelor Încărcare / Inserare în administratorul WordPress.

Mutarea tuturor datelor și rularea pe S3 timp de câteva zile acum a dus la 0.12 USD în taxe S3, așa că nu mă îngrijorează taxele implicate - poate că va costa câțiva dolari pe lună. În plus, dacă primesc o mulțime de vizitatori, ar trebui să mă descurc mult mai mult decât mânerele actuale ale platformei. Site-ul meu încarcă pagina principală în aproximativ 40% din timp, așa că sunt destul de mulțumit de mișcare!

Cel mai frumos lucru despre această mișcare este că nu a necesitat de fapt nicio dezvoltare!

4 Comentarii

  1. 1

    Bună,

    Am un cont Amazon S3, dar după ce am încercat să dau seama de lucruri, l-am lăsat doar pentru că este prea dificil. Addin-ul Firefox pentru S3 îl face mult mai ușor?

    • 2

      Bună Ramin,

      Suplimentul Firefox a fost într-adevăr o piesă cheie a puzzle-ului. Trebuie să aveți absolut o găleată în loc înainte ca pluginul să funcționeze - astfel încât acesta să fie rapid.

      Doug

  2. 3

    Ar trebui să adaug, va trebui să indicați CNAME către nou your_unique_cloudfront_distribution_name.cloudfront.net în loc de to subdomeniul_unic_dvs..s3.amazonaws.com. Dar după aceea, îl tratezi la fel ca o găleată S3 normală.

    Costă mai mult atunci când se utilizează opțiunea CloudFront cu viteză mai mare / latență scăzută. Dacă decideți că preferați să reveniți la versiunea standard S3, pur și simplu comutați CNAME pentru a indica înapoi la s3.amazonaws.com.

    Acum aproximativ un an, am scrishttp://www.carltonbale.com/tag/amazon-s3/"a câteva postări de blog pe Amaon S3 pentru oricine este interesat.

  3. 4

    Dacă sunteți în căutarea unei creșteri a vitezei chiar mai mari, transformați Amazon S3 Bucket într-un bucket Amazon CloudFront, care creează o adevărată rețea globală de distribuție a conținutului cu multi-server, cu latență redusă. Aici un link cu toate detaliile: http://aws.amazon.com/cloudfront/faqs/

    De asemenea, pluginul wp-supercache poate oferi creșteri imense de viteză pe site-urile cu trafic mare, deoarece reduce foarte mult încărcarea procesorului și apelurile bazei de date.

    • 5

      Foarte tare, Carlton! Deci este foarte mult o rețea distribuită, cum ar fi Akamai. Nu mi-am dat seama că au asta disponibil! Aș putea profita după ce am văzut unele dintre costuri.

      Am mai avut cache cu wp activat, dar am un anumit conținut dinamic, așa că m-am luptat cu el, deoarece uneori ar conține în cache conținut pe care doream să îl încărc în timp real.

      • 6

        Douglas,

        Din descrierea lor, se pare că Amazon face ceva complet diferit, spun ei:

        „Amazon CloudFront folosește 14 locații de vârf pe piețele importante din întreaga lume. Opt sunt în Statele Unite (Ashburn, VA; Dallas / Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA; St. Louis, MO). Patru sunt în Europa (Amsterdam; Dublin; Frankfurt; Londra). Două sunt în Asia (Hong Kong, Tokyo). ”

        În esență, profită de schimburile de internet pentru a-și valorifica apropierea față de utilizatorul final, unde CDN-urile precum Akamai au servere mult mai apropiate de utilizatorul final, de obicei în rețeaua ISP.

        Modul de a face acest lucru este Akamai mult mai ieftin și mai eficient.

        Rogerio - http://www.itjuju.com/

  4. 7

    Nu aș spune că este dificil să „obții performanțe de întreprindere cu un CMS precum WordPress”.

    Totul se referă la modul în care vă configurați infrastructura sau modul în care vă găzduiți CMS.
    Modul în care CMS în sine a fost codat poate juca, de asemenea, un rol important în performanța sa, așa cum a subliniat Carlton prin utilizarea pluginului wp-supercache.

    Ar fi fost mai bine dacă funcționalitatea pluginului wp-supercache ar fi fost încorporată în wordpress de la început - dar asta ar necesita redactarea front-end-ului. Care este ce lightpress.org a făcut.

    Încărcarea conținutului static pe ceva de genul S3 este o modalitate bună de a descărca procesarea și livrarea de pe serverul principal. Este un mod ușor și convenabil de a intra în infrastructura amazoanelor pentru a face greutăți mari, dar odată ce ați atins un prag de cretin, Amazon va începe să devină scump și va fi mai ieftin să o faceți în casă și să mergeți cu un CDN.

    Rogerio - http://www.itjuju.com/

    Ps
    M-am gândit puțin la acea situație, dacă doar 100 de persoane s-au reunit și au contribuit în fiecare lună la prețul unui server decent pe care ar plăti în mod normal pentru că ar putea construi / pune împreună o infrastructură de găzduire care ar putea gestiona aproape orice.

  5. 8

    0.12 USD pentru primele câteva zile de servicii S3. Ați revizita subiectul în câteva luni și ați afișa câteva statistici de trafic față de costuri? Ar fi interesant să vedem cum se descompune costul vizitatorilor unici și în raport cu costurile publicitare sau alte intrări.

  6. 13

    Dacă sunteți Windows, puteți utiliza browserul S3 - http://s3browser.com pentru a încărca fișiere, cum ar fi imagini, scripturi etc. pe Amazon S3. Trebuie să aibă instrument.

    Și mulțumesc pentru postarea utilă!

  7. 14

    Amazon S3 este un serviciu incredibil de bine apreciat. Sunt în proces de integrare a acestuia într-un CMS. Singura problemă pe care am întâlnit-o din perspectiva dezvoltării, nu din perspectiva serviciului Amazon, este că, dacă doriți ca utilizatorul dvs. să încarce în mod transparent fișierul direct pe S3 prin POST și aveți un formular multipart care încorporează text destinat localului dvs. baza de date, ești blocat. Ori trebuie să îl separați în două forme, fie să încercați să utilizați ajax pentru a încărca fișierul mai întâi, apoi trimiteți datele la nivel local.

    Dacă cineva are o soluție mai bună, nu ezitați să mă anunțați: o)

    Cu toate acestea, economiile de costuri pentru găzduirea fișierelor mari cu trafic mare justifică dezvoltarea unui astfel de sistem.

    Grant

    Sisteme de gestionare a listelor de suprimare

  8. 15

    Bună,

    Super scriere. Am pășit după cum descrieți, dar în panoul meu de administrare, unde încarc imagini, nu văd un buton S3. Am observat că imaginile mele, când sunt încărcate în mod normal, ajung pe Amazon, înseamnă că acum pot să copiez toate imaginile existente și să le șterg pe cele de pe server?

    Și trebuie să modific de unde provin imaginile mele sau face acest lucru pluginul?

  9. 16

    Hi Scott,

    Ar trebui să vedeți o mică pictogramă care arată în baza de date în dreapta pictogramei tipice. Aceasta este pictograma pentru a deschide fereastra Amazon. Am mutat tot conținutul / încărcările wp pe Amazon și m-am asigurat că am aceeași cale ... singura diferență fiind subdomeniul. Erau la http://www... iar acum sunt la images.marketingtechblog.com. După ce am copiat toate imaginile pe Amazon, am folosit PHPMyAdmin și am făcut o căutare și am înlocuit pentru src = ”http://martech.zone și l-am înlocuit cu src =” images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    Sper că asta ajută! Nu este perfect, dar funcționează.

    Doug

  10. 17

    Hei Douglas, mulțumesc pentru asta, am actualizat DB-ul, astfel încât toate imaginile să indice imagini.

    Iată site-ul (www.gamefreaks.co.nz) - a, alos, având unele probleme majore de memorie pentru prima pagină, a început abia după ce am schimbat hostingul, de aceea mă uit acum să descarc o parte din presiunea de hosting pe S3. 😎

  11. 18
  12. 19
  13. 20
    • 21

      Este compatibil cu cea mai recentă versiune, dar sincer nu-mi place modul în care funcționează - trebuie să schimbați și să încărcați toate imaginile pe S3 cu un proces diferit. S-ar putea să construim de fapt o integrare CDN (Content Delivery Network) mai robustă cu WP care să sincronizeze mai degrabă decât să solicite un proces diferit.

  14. 22
  15. 23

    Știți dacă funcționează și cu „Găleatele externe”? Vreau să configurez acest lucru pentru un blog al unui prieten de-al meu și să-l las să folosească o găleată în contul meu AWS (am creat deja un cont de utilizator pentru el și i-am dat acces la una dintre gălețile mele folosind instrumentele Amazon IAM).

  16. 24
  17. 25
    • 26

      Celia, du-te la AWS acasă http://aws.amazon.com/ și în meniul derulant „Contul / consola mea”, selectați „acreditări de securitate”. Conectați-vă dacă aveți nevoie. De acolo, derulați în jos până la acreditări de acces și veți vedea ID-urile cheii de acces listate. Copiați una dintre cele pentru ID-ul cheii pentru acest plugin, apoi faceți clic pe linkul „Afișați” pentru a vedea cheia de acces secret mai lungă. Copiați-l și lipiți-l și în setările pluginului. Ar trebui să fii pregătit după aceea!

  18. 27
  19. 28

Ce părere ai?

Acest site folosește Akismet pentru a reduce spamul. Aflați cum sunt procesate datele despre comentarii.