Implementació d’Amazon S3 per als blocs de WordPress

amazon s3 wordpress

Nota: Des que vam escriure això, hem migrat a volant amb una Xarxa de lliurament de contingut alimentat per StackPath CDN, un CDN molt més ràpid que Amazon.378

Tret que tingueu una plataforma d’allotjament empresarial de primera qualitat, és difícil obtenir un rendiment empresarial amb un CMS com ara WordPress. La compartició de càrregues, les còpies de seguretat, la redundància, la rèplica i el lliurament de contingut no resulten econòmics.

Molts representants de TI veuen plataformes com WordPress i les utilitzen perquè ho són lliure. Lliure és relatiu, però. Poseu WordPress en una infraestructura d’allotjament típica i un parell de centenars d’usuaris simultanis poden aturar el vostre lloc. Per ajudar-me en el rendiment del meu bloc, aquesta setmana he modificat la meva instal·lació de WordPress push tots els gràfics d’Amazon S3 (Amazon Simple Storage Service). Això fa que el meu servidor simplement empenti HTML mitjançant PHP / MySQL.

Amazon S3 proporciona una senzilla interfície de serveis web que es pot utilitzar per emmagatzemar i recuperar qualsevol quantitat de dades, en qualsevol moment, des de qualsevol lloc del web. Proporciona a qualsevol desenvolupador accés a la mateixa infraestructura d’emmagatzematge de dades altament escalable, fiable, ràpida i econòmica que Amazon utilitza per executar la seva pròpia xarxa global de llocs web. El servei té com a objectiu maximitzar els avantatges de l’escala i transmetre’ls als desenvolupadors.

La conversió del lloc per a Amazon S3 va suposar una mica de feina, però aquí teniu els conceptes bàsics:

  1. Inscriu-te Serveis web d'Amazon.
  2. Carregueu el complement Firefox per a S3. Això us proporciona una gran interfície per gestionar contingut a S3.
  3. Afegir una cub, en aquest cas he afegit www.martech.zone.
  4. Afegiu un CNAME al registre del domini per apuntar un subdomini del vostre lloc a Amazon S3 per allotjament virtual.
  5. Descarregueu i instal·leu el connector de WordPress per a Amazon S3.
  6. Configureu l'identificador de clau d'accés AWS i la clau secreta i feu clic a Actualitza.
  7. Seleccioneu el subdomini / dipòsit que heu creat anteriorment per al fitxer Utilitzeu aquesta galleda configuració

wp-amazon-s3-settings.png

Els següents passos van ser la part divertida. No volia publicar contingut futur de S3, volia publicar tot el contingut, inclosos els anuncis, els temes i els fitxers multimèdia passats.

  1. He creat carpetes per a anuncis, temesi pujades a la meva galleda a S3.
  2. Vaig fer una còpia de seguretat de tot el contingut actual (fitxers d'imatge i fitxers multimèdia) a les carpetes corresponents.
  3. He modificat el fitxer CSS al tema per extreure totes les imatges www.martech.zone/themes.
  4. Vaig fer una MySQL cerca i reemplaça i ha actualitzat totes les referències al contingut multimèdia que es mostrarà des del subdomini S3.
  5. He actualitzat totes les referències d'imatges dels anuncis que es mostraran a la carpeta d'anuncis del subdomini S3.

A partir d’aquí, simplement necessito carregar contingut multimèdia a S3 en lloc d’utilitzar el diàleg de càrrega d’imatges predeterminat per a WordPress. El connector fa un treball fantàstic posant una icona S3 a la mateixa ubicació de les icones Puja / Insereix a l'administrador de WordPress.

Traslladar totes les dades i executar-se a S3 durant un parell de dies ara ha suposat 0.12 dòlars en càrrecs de S3, de manera que no em preocupen les tarifes implicades; potser costarà uns quants dòlars al mes. A la part positiva, si tinc una quantitat de visitants, hauria de ser capaç de manejar-ne molts més que els controladors actuals de la plataforma. El meu lloc carrega la pàgina principal aproximadament El 40% del temps que solia fer, així que estic molt content amb el canvi.

El més bonic d’aquest moviment és que en realitat no requeria cap desenvolupament.

28 Comentaris

  1. 1

    Hola,

    Tinc un compte d’Amazon S3, però després d’intentar esbrinar les coses, l’acabo de deixar perquè és massa difícil. El complement de Firefox per a S3 ho fa molt més fàcil?

    • 2

      Hola Ramin,

      El complement de Firefox era realment una peça clau del trencaclosques. Abans que el connector funcioni, necessiteu tenir un dipòsit al seu lloc, de manera que el converteix en un instantani.

      Doug

  2. 3

    Hauria d'afegir que haureu d'assenyalar el vostre CNAME cap a la nova your_unique_cloudfront_distribution_name.cloudfront.net en lloc de a vostre_subdomini_únic.s3.amazonaws.com. Però després d’això, el tractareu com una galleda S3 normal.

    Costa més quan s’utilitza l’opció CloudFront de més alta velocitat / baixa latència. Si decidiu que preferiu tornar a la versió S3 estàndard, canvieu el CNAME per apuntar a s3.amazonaws.com.

    Fa aproximadament un any, vaig escriurehttp://www.carltonbale.com/tag/amazon-s3/"a poques publicacions de bloc a Amaon S3 per a qualsevol persona interessada.

  3. 4

    Si voleu augmentar encara més la velocitat, convertiu el vostre compartiment Amazon S3 en un dipòsit d’Amazon CloudFront, que crea una autèntica xarxa de distribució de contingut multiservei i de baixa latència. Aquí un enllaç amb tots els detalls: http://aws.amazon.com/cloudfront/faqs/

    A més, el connector wp-supercache pot augmentar enormement la velocitat en llocs amb molt trànsit, ja que redueix considerablement la càrrega de la CPU i les trucades a la base de dades.

    • 5

      Molt xulo, Carlton! Per tant, és una xarxa molt distribuïda com Akamai. No em vaig adonar que tenien això disponible! Puc aprofitar-me després de veure alguns dels costos.

      Abans he tingut la memòria cau amb wp activat, però tinc un contingut dinàmic, de manera que m’ha costat molt, ja que de vegades emmagatzemava contingut en memòria cau que realment volia carregar en temps real.

      • 6

        Douglas,

        Segons la seva descripció, sembla que Amazon està fent una cosa completament diferent, diuen:

        “Amazon CloudFront utilitza 14 ubicacions de punta als principals mercats de tot el món. Vuit són als Estats Units (Ashburn, VA; Dallas / Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA; St. Louis, MO). Quatre són a Europa (Amsterdam; Dublín; Frankfurt; Londres). Dos són a Àsia (Hong Kong, Tòquio) ".

        Bàsicament aprofiten els intercanvis d’Internet per aprofitar la seva proximitat amb l’usuari final, ja que, com CDN, com Akamai, tenen servidors molt més propers a l’usuari final, normalment a la xarxa de l’ISP.

        La manera de fer-ho de les amazones és molt més barata i eficaç a Akamai.

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

  4. 7

    No diria que és difícil "obtenir un rendiment empresarial amb un CMS com WordPress".

    Es tracta de com configureu la vostra infraestructura o la forma d’allotjar el vostre CMS.
    La forma en què s’ha codificat el propi CMS també pot tenir un paper important en el seu rendiment, tal com va assenyalar Carlton mitjançant l’ús del connector wp-supercache.

    Hauria estat millor si la funcionalitat del connector wp-supercache estigués integrada a wordpress des del principi, però això requeriria tornar a escriure la portada. Què és què? lightpress.org ho van fer.

    Deixar de carregar contingut estàtic a alguna cosa com S3 és una bona manera de descarregar processament i lliurament des del servidor principal. És una manera fàcil i còmoda d’aprofitar la infraestructura de les Amazones per fer pesades, però un cop arribeu al llindar de cretina, Amazon començarà a ser car i serà més barat fer-ho a casa i anar amb un CDN.

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

    ps
    He estat pensant una mica en aquesta situació, si només 100 persones es reunissin i aportessin cada mes el preu d’un servidor decent que normalment pagarien per poder construir / muntar infraestructures d’allotjament que poguessin gestionar gairebé qualsevol cosa.

  5. 8

    0.12 dòlars els primers dos dies de serveis S3. Tornaria a visitar el tema d'aquí a uns quants mesos i mostraríeu algunes estadístiques de trànsit versus costos? Seria interessant veure com el cost es divideix en visitants únics i en comparació amb els costos publicitaris o altres aportacions.

  6. 13
  7. 14

    Amazon S3 és un servei increïblement ben valorat. Estic en el procés d’integrar-lo en un CMS. L’únic problema que he trobat des d’una perspectiva de desenvolupament, no des d’un servei d’Amazon, és que si voleu que el vostre usuari pugui penjar el fitxer directament a S3 mitjançant POST i tingueu un formulari multipart que incorpori text destinat al vostre local base de dades, estàs atrapat. Cal separar-lo en dos formularis, o bé provar d’utilitzar ajax per penjar el fitxer primer i, després, amb èxit enviar les dades localment.

    Si algú té una millor solució, no dubteu en fer-m'ho saber: o)

    Tot i això, l'estalvi de costos per allotjar fitxers de gran trànsit justifica el desenvolupament d'aquest sistema.

    Atorgar

    Sistemes de gestió de llistes de supressió

  8. 15

    Hola,

    Gran redacció. He avançat tal com heu descrit, però al meu tauler d'administració on penjo imatges no veig cap botó S3. He notat que les meves imatges, quan es carreguen normalment, acaben a Amazon, vol dir que ara puc copiar totes les meves imatges existents i eliminar-les al servidor?

    I he de modificar d'on provenen les meves imatges o ho fa el complement?

  9. 16

    Hola Scott,

    Heu de veure una petita icona de base de dades a la dreta de la vostra icona típica. Aquesta és la icona per fer aparèixer la finestra d’Amazon. Vaig moure tots els continguts / càrregues wp a Amazon i em vaig assegurar que tenia el mateix camí ... l'única diferència era el subdomini. Estaven a http://www... i ara són a images.marketingtechblog.com. Després de copiar totes les imatges a Amazon, he utilitzat PHPMyAdmin i he fet una cerca i substitució de src = "http://martech.zone i l'he substituït per src =" images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    Espero que això us ajudi! No és perfecte, però funciona.

    Doug

  10. 17

    Hola Douglas, gràcies per això, he actualitzat la base de dades de manera que totes les imatges apunten a imatges, però veig que alguns dels polzes (quan es mira a través de la informació de la pàgina) mostren el iamge encara a www.

    Aquí teniu el lloc (www.gamefreaks.co.nz), un, encara que té algun problema de memòria important per a la pàgina inicial, només va començar un cop vam canviar d'allotjament, per tant, ara estic buscant descarregar part de la pressió d'allotjament a S3. 😎

  11. 18
  12. 19
  13. 20
    • 21

      És compatible amb l'última versió, però sincerament no m'agrada la forma en què funciona; heu de canviar i carregar totes les imatges a S3 amb un procés diferent. En realitat, podem crear una integració de CDN (Content Delivery Network) més robusta amb WP que sincronitzi en lloc de requerir un procés diferent.

  14. 22
  15. 23

    Sabeu si això també funciona amb "Cubs externs"? Vull configurar-ho per a un bloc d’un amic meu i deixar-lo fer servir un dipòsit al meu compte d’AWS (ja li vaig crear un compte d’usuari i li vaig donar accés a un dels meus compartiments mitjançant les eines Amazon IAM).

  16. 24
  17. 25
    • 26

      Celia, vés a casa AWS http://aws.amazon.com/ i al menú desplegable "El meu compte / consola", seleccioneu "Credencials de seguretat". Inicieu la sessió si ho necessiteu. Des d'allà, desplaceu-vos cap avall fins a les credencials d'accés i veureu els vostres identificadors de claus d'accés. Copieu-ne un per a l'identificador de clau d'aquest connector i feu clic a l'enllaç "Mostra" per veure la clau d'accés secreta més llarga. Copieu-lo i enganxeu-lo també a la configuració del connector. Després d’això, hauríeu d’estar a punt.

  18. 27
  19. 28

Què et sembla?

Aquest lloc utilitza Akismet per reduir el correu no desitjat. Esbrineu com es processa el vostre comentari.