Implementación de Amazon S3 para blogs de WordPress

amazon s3 wordpress

Nota: Desde que escribimos isto, migramos a péndulo cun Rede de entrega de contidos alimentado por StackPath CDN, un CDN moito máis rápido que Amazon.378

A non ser que utilices unha plataforma premium de hospedaxe empresarial, é difícil conseguir un rendemento empresarial cun CMS como WordPress. A compartición de cargas, as copias de seguridade, a redundancia, a replicación e a entrega de contido non resultan baratos.

Moitos representantes de TI ven plataformas como WordPress e úsanas porque son libre. Free é relativo, porén. Pon WordPress nunha infraestrutura de hospedaxe típica e un par de centos de usuarios simultáneos poden deter o teu sitio. Para axudar no rendemento do meu blog, esta semana modifiquei a miña instalación de WordPress push todos os gráficos de Amazon S3 (Amazon Simple Storage Service). Isto deixa ao meu servidor simplemente empurrar HTML vía PHP / MySQL.

Amazon S3 ofrece unha sinxela interface de servizos web que se pode empregar para almacenar e recuperar calquera cantidade de datos, en calquera momento, desde calquera lugar da web. Ofrece a calquera desenvolvedor acceso á mesma infraestrutura de almacenamento de datos altamente escalable, fiable, rápida e económica que Amazon usa para executar a súa propia rede global de sitios web. O servizo ten como obxectivo maximizar os beneficios da escala e transmitirlles aos desenvolvedores.

Para converter o sitio para Amazon S3 levou un pouco de traballo, pero aquí están os conceptos básicos:

  1. Asine Servizos web de Amazon.
  2. Cargue o complemento de Firefox para S3. Isto ofrécelle unha excelente interface para xestionar contido en S3.
  3. Engadir unha balde, neste caso engadín www.martech.zone.
  4. Engade un CNAME ao teu rexistrador de dominio para dirixir un subdominio do teu sitio a Amazon S3 para aloxamento virtual.
  5. Descarga e instala o complemento de WordPress para Amazon S3.
  6. Configure a súa clave de acceso de AWS e a clave secreta e faga clic en Actualizar.
  7. Seleccione o subdominio / cubo que creou anteriormente para o Usa este balde configuración.

wp-amazon-s3-settings.png

Os seguintes pasos foron o divertido. Non quería publicar contido futuro de S3, quería publicar todo o contido, incluídos anuncios, temas e ficheiros multimedia pasados.

  1. Creei cartafoles para anuncios, temase subidos no meu balde en S3.
  2. Fixen unha copia de seguridade de todo o meu contido actual (imaxe e ficheiros multimedia) nos cartafoles correspondentes.
  3. Modifiquei o meu ficheiro CSS no meu tema para tirar de todas as imaxes www.martech.zone/themes.
  4. Fixen un MySQL busca e substitúe e actualizou todas as referencias ao contido multimedia que se amosarán desde o subdominio S3.
  5. Actualicei todas as referencias de imaxes para que os anuncios se mostren dende o cartafol de anuncios do subdominio S3.

De aquí en diante, simplemente necesito subir medios a S3 en lugar de usar o diálogo de carga de imaxes predeterminado para WordPress. O complemento fai un traballo fantástico ao colocar unha icona S3 na mesma localización de Cargar / Inserir iconas no administrador de WordPress.

Trasladar todos os datos e executar en S3 durante un par de días resultou en 0.12 dólares en cargos por S3, polo que non me preocupan as taxas implicadas; quizais custe algúns dólares ao mes. Por outra banda, se recibo unha chea de visitantes, debería ser capaz de manexar moitos máis que os controladores actuais da plataforma. O meu sitio está cargando a páxina de inicio en aproximadamente O 40% das veces que facía antes, polo que estou moi contento coa mudanza.

O mellor deste movemento é que en realidade non requiriu ningún desenvolvemento.

28 Comentarios

  1. 1

    Ola,

    Teño unha conta de Amazon S3, pero despois de intentar descubrir as cousas, deixeina porque é demasiado difícil. O complemento firefox para S3 faino moito máis doado?

    • 2
  2. 3

    Debo engadir, terá que apuntar o seu CNAME cara ao novo your_unique_cloudfront__distribution_name.cloudfront.net no canto de to o teu_subdominio_único.s3.amazonaws.com. Pero despois diso, trátao como un balde S3 normal.

    Custa máis cando se usa a opción CloudFront de maior velocidade / baixa latencia. Se decides que prefires volver á versión S3 estándar, só tes que cambiar o teu CNAME para apuntar a s3.amazonaws.com.

    Hai aproximadamente un ano, escribínhttp://www.carltonbale.com/tag/amazon-s3/"a poucas publicacións de blog en Amaon S3 para calquera persoa interesada.

  3. 4

    Se estás a buscar aínda máis velocidade, converte o teu Amazon S3 Bucket nun compartimento Amazon CloudFront, que crea unha verdadeira rede de distribución de contido multi-servidor global e de baixa latencia. Aquí un enlace con todos os detalles: http://aws.amazon.com/cloudfront/faqs/

    Ademais, o complemento wp-supercache pode aumentar enormemente a velocidade en sitios con moito tráfico xa que reduce moito a carga da CPU e as chamadas á base de datos.

    • 5

      Moi chulo, Carlton! Polo tanto, é unha rede distribuída como Akamai. Non me decatei de que o tiñan dispoñible. Podo aproveitar despois de ver algúns dos custos.

      Antes tiven caché con wp habilitado, pero teño algún contido dinámico polo que realmente tiven dificultades con el, xa que ás veces gardaría contido en caché que realmente quería cargar en tempo real.

      • 6

        Douglas,

        Pola súa descrición parece que Amazon está a facer algo completamente diferente, din:

        “Amazon CloudFront usa 14 localizacións de punta nos principais mercados do mundo. Oito están nos Estados Unidos (Ashburn, VA; Dallas / Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA; St. Louis, MO). Catro están en Europa (Amsterdam; Dublín; Frankfurt; Londres). Dous están en Asia (Hong Kong, Tokio) ".

        Aproveitan basicamente os intercambios de internet para aproveitar a súa proximidade ao usuario final, onde CDN como Akamai teñen servidores moito máis próximos ao usuario final normalmente na rede do ISP.

        A forma de facelo das Amazonas é moito máis barata e eficaz Akamai.

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

  4. 7

    Non diría que é difícil "obter rendemento empresarial cun CMS como WordPress".

    Todo está en como configuras a túa infraestrutura ou na forma de aloxar o teu CMS.
    A forma en que se codificou o CMS tamén pode desempeñar un papel importante no seu rendemento, como sinalou Carlton usando o complemento wp-supercache.

    Fora mellor que a funcionalidade do complemento wp-supercache se incorporase a wordpress desde o principio, pero iso requiriría volver escribir o front end. Cal é o que lightpress.org fixo.

    Desactivar a carga de contido estático en algo así como S3 é un bo xeito de descargar o procesamento e entrega do servidor principal. É un xeito doado e cómodo de aproveitar a infraestrutura das Amazonas para facer o pesado, pero unha vez que chegues ao limiar da cretina, Amazon comezará a ser caro e será máis barato facelo na casa e ir cun CDN.

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

    Ps
    Estiven pensando nesa situación un pouco, se só 100 persoas se xuntasen e aportasen cada mes o prezo dun servidor decente que normalmente estarían pagando, poderían construír / xuntar infraestrutura de hospedaxe que puidese soportar case calquera cousa.

  5. 8

    0.12 $ os primeiros dous días de servizos S3. Volverías visitar o tema nuns meses e amosarías algunhas estatísticas de tráfico fronte a custos? Sería interesante ver como os custos se dividen en visitantes únicos e en contra dos custos publicitarios ou doutras entradas.

  6. 13
  7. 14

    Amazon S3 é un servizo moi valorado. Estou no proceso de integralo nun CMS. O único problema que atopei desde o punto de vista do desenvolvemento, e non do servizo de Amazon, é que se queres que o teu usuario cargue o ficheiro de forma transparente directamente a S3 vía POST e tes un formulario multiparte que incorpora texto destinado ao teu local base de datos, estás atascado. Ou é preciso separalo en dous formularios ou ben intente usar ajax para cargar o ficheiro e despois enviar os datos localmente.

    Se alguén ten unha mellor solución, non dubide en facerme saber: o)

    Non obstante, o aforro de custos por aloxar grandes ficheiros de gran tráfico xustifica o desenvolvemento deste sistema.

    Conceda

    Sistemas de xestión de listas de supresión

  8. 15

    Ola,

    Estupendo escribir. Pasei como describe, pero no meu panel de administración onde subo imaxes, non vexo un botón S3. Notei que as miñas imaxes, cando se cargan normalmente acaban en Amazon, significa isto que agora podo copiar todas as miñas imaxes existentes e eliminar as do servidor?

    ¿E debo modificar de onde veñen as miñas imaxes ou o fai o complemento?

  9. 16

    Ola Scott,

    Deberías ver unha pequena icona de base de datos á dereita da túa icona típica. Esa é a icona para abrir a xanela de Amazon. Mudei todo o contido wp / cargas a Amazon e asegureime de que tiña o mesmo camiño ... a única diferenza é o subdominio. Estaban en http://www... e agora están en images.marketingtechblog.com. Despois de copiar todas as imaxes en Amazon, usei PHPMyAdmin e fixen unha busca e substitúe por src = "http://martech.zone e substitúeina por src =" images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    Espero que iso axude! Non é perfecto, pero funciona.

    Doug

  10. 17

    Ola Douglas, grazas por iso, actualicei a base de datos para que todas as imaxes apunten a imaxes, pero vexo que algúns dos polgares (cando se miran a través da información da páxina) mostran o iamge aínda en www.

    Aquí está o sitio (www.gamefreaks.co.nz), un, aínda que ten algún problema importante de memoria para a páxina de inicio, só comezou unha vez que cambiamos de hospedaxe, de aí que agora estea a descargar parte da presión de hospedaxe a S3. 😎

  11. 18
  12. 19
  13. 20
    • 21

      É compatible coa versión máis recente, pero sinceramente non me gusta o seu funcionamento; ten que cambiar e cargar todas as imaxes a S3 cun proceso diferente. É posible que creamos unha integración CDN (Content Delivery Network) máis robusta con WP que sincronice en lugar de esixir un proceso diferente.

  14. 22
  15. 23

    ¿Sabes se tamén funciona con "Cubos externos"? Quero configurar isto para un blogue dun amigo meu e deixarlle usar un balde na miña conta de AWS (xa lle creei unha conta de usuario e deille acceso a un dos meus cubos usando as ferramentas Amazon IAM).

  16. 24
  17. 25
    • 26

      Celia, vai á casa de AWS http://aws.amazon.com/ e no menú despregable "A miña conta / consola", seleccione "Credenciais de seguridade". Inicia sesión se o precisas. A partir de aí, desprácese ata as credenciais de acceso e verá os seus ID de clave de acceso listados. Copia un destes para o ID de clave deste complemento e logo fai clic na ligazón "Mostrar" para ver a clave de acceso secreto máis longa. Copia isto e pégao tamén na configuración do complemento. Debería estar todo listo despois diso.

  18. 27
  19. 28

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.