Implementarea Amazon S3 pentru blogurile WordPress

amazon s3 wordpress

Notă: De când am scris acest lucru, am migrat de atunci la 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 din trecut.

  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 sunt îngrijorat de 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 la 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ă-mi dau seama, tocmai l-am lăsat pentru că este prea dificil. Suplimentul Firefox pentru S3 face mult mai ușor?

    • 2
  2. 3

    Ar trebui să adaug, va trebui să îndreptați CNAME către noul your_unique_cloudfront_distribution_name.cloudfront.net în loc să subdomeniul_unic.s3.amazonaws.com. Dar după aceea, îl tratezi exact 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, comutați-vă CNAME pentru a indica în schimb 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 și mai mari creșteri a vitezei, transformați-vă Amazon S3 Bucket într-o găleată Amazon CloudFront, care creează o adevărată rețea globală de distribuție a conținutului cu mai multe servere, cu latență redusă. Aici un link cu toate detaliile: http://aws.amazon.com/cloudfront/faqs/

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

    • 5

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

      Am mai avut cache cu wp activat, dar am ceva conținut dinamic, așa că m-am luptat cu el, deoarece uneori ar fi stocat în cache conținut pe care de fapt doream să îl încarc î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 marginale pe piețele majore 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).”

        Practic, profită de schimburile de internet pentru a-și valorifica apropierea de utilizatorul final, în cazul în care CDN-uri precum Akamai au servere mult mai aproape de utilizatorul final, de obicei în rețeaua ISP-ului.

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

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

  4. 7

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

    Totul depinde de modul în care vă configurați infrastructura sau de modul în care vă găzduiți CMS-ul.
    Modul în care CMS-ul în sine a fost codificat poate juca, de asemenea, un rol important în performanța sa, așa cum a subliniat Carlton cu 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 rescrierea front-end-ului. Care este ce lightpress.org a făcut.

    Încărcarea dezactivată a conținutului static la ceva de genul S3 este o modalitate bună de a descărca procesarea și livrarea de pe serverul principal. Este o modalitate ușoară și convenabilă de a accesa infrastructura Amazon pentru a face sarcini grele, 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 această situație, dacă doar 100 de oameni s-ar aduna și ar contribui în fiecare lună cu prețul unui server decent pentru care ar fi plătit în mod normal, ar putea construi/asambla o infrastructură de găzduire care ar putea gestiona aproape orice.

  5. 8

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

  6. 13

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

    Și mulțumesc pentru postarea utilă!

  7. 14

    Amazon S3 este un serviciu incredibil de bine apreciat. Sunt doar în proces de integrare într-un CMS. Singura problemă pe care am întâlnit-o din punct de vedere al dezvoltării, nu din perspectiva serviciului Amazon, este că, dacă doriți ca utilizatorul dvs. să încarce fișierul în mod transparent direct în S3 prin POST și aveți un formular în mai multe părți care încorporează text destinat localului dvs. baza de date, ești blocat. Fie 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, după succes, trimiteți datele local.

    Daca cineva are o solutie mai buna, nu ezitati sa ma anunte :o)

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

    Grant

    Sisteme de management al listelor de suprimare

  8. 15

    Bună,

    Excelent scris. Am făcut pasul așa 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ă asta că acum pot să-mi copiez toate imaginile existente și să le șterg pe cele de pe server?

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

  9. 16

    Hi Scott,

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

    Sper că te 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ă trimită către imagini., dar văd că unele dintre degetele mari (când sunt privite prin intermediul informațiilor din pagină) arată iamge-ul încă pe www.

    Aici este site-ul (www.gamefreaks.co.nz) – a, de asemenea, având o problemă majoră de memorie pentru prima pagină, a început doar odată ce ne-am mutat găzduirea, de aceea mă uit acum la descărcarea unei presiuni de găzduire 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ă mutați și să încărcați toate imaginile pe S3 printr-un proces diferit. De fapt, putem construi 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ă acest lucru funcționează și cu „Găleți 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/ iar în meniul drop-down „Contul meu/Consola”, selectați „Acreditări de securitate”. Conectați-vă dacă aveți nevoie. De acolo, derulați în jos la Acreditări de acces și veți vedea ID-urile cheilor de acces listate. Copiați unul dintre acestea 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 inserați-l și în setările pluginului. Ar trebui să fii gata 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.