Implementering av Amazon S3 for WordPress-blogger

amazon s3 wordpress

Merk: Siden vi skrev dette, har vi siden migrert til flywheel med en Content Delivery Network drevet av StackPath CDN, en mye raskere CDN enn Amazon.378

Med mindre du har en førsteklasses enterprise hosting-plattform, er det vanskelig å oppnå bedriftsytelse med et CMS-lignende WordPress. Lastedeling, sikkerhetskopier, redundans, replikering og innholdslevering blir ikke billig.

Mange IT-representanter ser på plattformer som WordPress og bruker dem fordi de er gratis. Gratis er imidlertid relativt. Sett WordPress på en typisk hostinginfrastruktur, og et par hundre samtidige brukere kan stoppe nettstedet ditt. For å hjelpe til med bloggens ytelse, endret jeg denne uken installasjonen av WordPress ved å skyve all grafikken fra Amazon S3 (Amazon Simple Storage Service). Dette lar serveren min bare skyve HTML via PHP / MySQL.

Amazon S3 tilbyr et enkelt webtjenestegrensesnitt som kan brukes til å lagre og hente ut hvilken som helst datamengde, når som helst, hvor som helst på nettet. Det gir enhver utvikler tilgang til samme svært skalerbare, pålitelige, raske og rimelige datalagringsinfrastruktur som Amazon bruker for å kjøre sitt eget globale nettverk av nettsteder. Tjenesten tar sikte på å maksimere fordelene ved skalering og å overføre disse fordelene til utviklere.

Å konvertere nettstedet for Amazon S3 tok litt arbeid, men her er det grunnleggende:

  1. Meld deg på Amazon Web Services.
  2. Last inn Firefox-tillegget for S3. Dette gir deg et flott grensesnitt for administrering av innhold i S3.
  3. legge en bøtte, i dette tilfellet la jeg til www.martech.zone.
  4. Legg til et CNAME til domeneregistratoren din for å peke et underdomener fra nettstedet ditt til Amazon S3 for virtuell hosting.
  5. Last ned og installer WordPress-plugin for Amazon S3.
  6. Sett AWS Access Key ID og Secret Key, og klikk oppdater.
  7. Velg underdomenet / bøtta du opprettet ovenfor for Bruk denne bøtta innstilling.

wp-amazon-s3-settings.png

De neste trinnene var den morsomme delen! Jeg ville ikke bare vise fremtidig innhold fra S3, jeg ønsket å levere alt innhold, inkludert annonser, temaer og tidligere mediefiler.

  1. Jeg opprettet mapper for annonser, temaerog Opplastinger i bøtta mi på S3.
  2. Jeg sikkerhetskopierte alt mitt nåværende innhold (bilde- og mediefiler) til gjeldende mapper.
  3. Jeg endret CSS-filen min i temaet mitt for å hente alle bildene fra www.martech.zone/themes.
  4. Jeg gjorde en MySQL søk og erstatt og oppdatert hver referanse til medieinnhold som skal vises fra S3-underdomenet.
  5. Jeg oppdaterte alle bildereferanser for annonser som skal vises fra annonsemappen på S3-underdomenet.

Herfra og ut trenger jeg rett og slett å laste opp media til S3 i stedet for å bruke standard bildeopplastingsdialog for WordPress. Plugin gjør en fantastisk jobb med å sette et S3-ikon på samme sted som Last opp / sett inn ikoner i WordPress-administratoren.

Å flytte alle dataene og kjøre på S3 i et par dager nå har resultert i $ 0.12 i S3-kostnader, så jeg er ikke bekymret for avgiftene som er involvert - kanskje noen få dollar i måneden koster det. På plussiden, hvis jeg får massevis av besøkende, burde jeg være i stand til å håndtere mange flere enn dagens plattformhåndtak. Nettstedet mitt laster hjemmesiden om 40% av tiden det pleide å, så jeg er ganske fornøyd med flyttingen!

Det fineste med dette trekket er at det faktisk ikke krever noen utvikling!

28 Kommentarer

  1. 1

    Hei,

    Jeg har en Amazon S3-konto, men etter å ha prøvd å finne ut av ting, forlot jeg den bare fordi den er for vanskelig. Gjør Firefox addin for S3 det mye enklere?

  2. 3

    Jeg bør legge til, du må peke CNAME til det nye ditt_unike_cloudfront_distribution_name.cloudfront.net i stedet for å ditt_unikale_domenet.s3.amazonaws.com. Men etter det behandler du det akkurat som en vanlig S3-bøtte.

    Det koster mer når du bruker CloudFront-alternativet med høyere hastighet / lav latens. Hvis du bestemmer deg for at du helst vil bytte tilbake til standard S3-versjonen, er det bare å bytte CNAME for å peke tilbake til s3.amazonaws.com i stedet.

    For omtrent et år siden skrev jeghttp://www.carltonbale.com/tag/amazon-s3/"a få blogginnlegg på Amaon S3 for alle interesserte.

  3. 4

    Hvis du leter etter enda mer hastighetsøkning, kan du gjøre Amazon S3 Bucket til en Amazon CloudFront-bøtte, noe som skaper et ekte globalt innholdsdistribusjonsnett for flere servere med lav latens. Her en lenke med alle detaljer: http://aws.amazon.com/cloudfront/faqs/

    Dessuten kan wp-supercache-pluginet gi enorme hastighetsøkninger på nettsteder med høy trafikk, da det i stor grad reduserer CPU-belastning og databasesamtaler.

    • 5

      Veldig kult, Carlton! Så det er veldig mye et distribuert nettverk som Akamai. Jeg skjønte ikke at de hadde det tilgjengelig! Jeg kan dra nytte av å ha sett noen av kostnadene.

      Jeg har hatt caching med wp aktivert før, men jeg har noe dynamisk innhold, så jeg slet veldig med det siden det noen ganger ville cache innhold som jeg faktisk ønsket å laste i sanntid.

      • 6

        Douglas,

        Fra beskrivelsen deres høres det ut som Amazon gjør noe helt annet, de sier:

        “Amazon CloudFront bruker 14 lokasjoner i store markeder over hele verden. Åtte er i USA (Ashburn, VA; Dallas / Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA; St. Louis, MO). Fire er i Europa (Amsterdam; Dublin; Frankfurt; London). To er i Asia (Hong Kong, Tokyo). ”

        De utnytter i utgangspunktet internettbørser for å utnytte deres nærhet til sluttbrukeren, der CDN-er som Akamai har servere mye nærmere sluttbrukeren vanligvis innenfor ISP-nettverket.

        Amazons måte å gjøre det på er mye billigere og mer effektivt Akamai.

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

  4. 7

    Jeg vil ikke si at det er vanskelig å "oppnå virksomhetsytelse med et CMS som WordPress."

    Det hele handler om hvordan du konfigurerer infrastrukturen eller måten du er vert for CMS på.
    Måten CMS selv er kodet på, kan også spille en stor rolle i ytelsen, slik Carlton påpekte ved å bruke plugin-programmet wp-supercache.

    Det hadde vært bedre om funksjonaliteten til wp-supercache-pluginet ble innebygd for wordpress fra starten - men det ville kreve omskriving av frontend. Som er hva lightpress.org gjorde.

    Å laste av statisk innhold til noe som S3 er en god måte å laste ned behandling og levering fra hovedserveren. Det er en enkel og praktisk måte å utnytte Amazons infrastruktur for å løfte tungt, men når du når en cretin terskel, vil Amazon begynne å bli dyrt, og det vil være billigere å gjøre det hjemme og gå med en CDN.

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

    ps
    Jeg har tenkt litt på den situasjonen, hvis bare 100 mennesker kom sammen og bidro med hver måned prisen på en anstendig server som de normalt ville betale for, kunne de bygge / sette sammen hostinginfrastruktur som kunne håndtere nesten hva som helst.

  5. 8

    $ 0.12 for de første par dagene av S3-tjenester. Vil du se temaet om noen måneder og vise statistikk over trafikk kontra kostnader? Det ville være interessant å se hvordan kostnadene fordeler seg på unike besøkende og mot annonsekostnader eller andre innspill.

  6. 13
  7. 14

    Amazon S3 er en utrolig høyt verdsatt tjeneste. Jeg er bare i ferd med å integrere det i et CMS. Det eneste problemet jeg har kommet over fra et utviklingsperspektiv, ikke et Amazon-tjenesteperspektiv, er at hvis du vil at brukeren din skal laste opp filen på en transparent måte direkte til S3 via POST, og du har et skjema med flere deler som inneholder tekst som er bestemt for din lokale database, sitter du fast. Du må enten skille den i to skjemaer, eller du kan prøve å bruke ajax til å laste opp filen først, og deretter sende dataene lokalt.

    Hvis noen har en bedre løsning, kan du gi meg beskjed: o)

    Likevel garanterer kostnadsbesparelsene for hosting av store filer med høy trafikk utviklingen av et slikt system.

    Grant

    Styringssystemer for undertrykkelse

  8. 15

    Hei,

    Stor skriv opp. Jeg har gått gjennom som du beskriver, men i adminpanelet mitt der jeg laster opp bilder, ser jeg ikke en S3-knapp. Jeg har lagt merke til at bildene mine, når de lastes opp normalt, havner på Amazon, betyr dette at jeg nå kan kopiere alle eksisterende bilder og slette de på serveren?

    Og trenger jeg å endre hvor bildene mine kommer fra, eller gjør programtillegget dette?

  9. 16

    Hei Scott,

    Du bør se et lite database-utseende-ikon til høyre for ditt typiske ikon. Det er ikonet for å dukke opp Amazon-vinduet. Jeg flyttet alt wp-innhold / opplastinger til Amazon og sørget for at jeg hadde samme bane ... den eneste forskjellen var underdomenet. De var på http://www... og nå er de på images.marketingtechblog.com. Etter at jeg hadde kopiert alle bildene til Amazon, brukte jeg PHPMyAdmin og søkte og erstattet etter src = ”http://martech.zone og erstattet den med src =” images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    Håper det hjelper! Det er ikke sømløst, men det fungerer.

    Doug

  10. 17

    Hei Douglas, takk for det, jeg har oppdatert DB så alle bildene peker på bilder., Men jeg ser noen av tommelen (når vi ser på via sideinformasjonen) viser iamge fortsatt på www.

    Her er nettstedet (www.gamefreaks.co.nz) - a, alos som har noe stort minneproblem for forsiden, startet først når vi flyttet hosting, derav ser jeg nå på å laste ned noe av hostingpresset til S3. 😎

  11. 18

    vet du om det er mulig å bare laste opp til S3 uten at det også lagrer en kopi på den lokale serveren?

    tnx

  12. 19

    Hei Scott, S3-pluginet gir sin egen bane direkte til Amazon, så filen lagres IKKE lokalt.

  13. 20
    • 21

      Den er kompatibel med den nyeste versjonen, men jeg liker ærlig talt ikke måten den fungerer på - du må skifte og laste alle bilder til S3 med en annen prosess. Vi kan faktisk bygge en mer robust CDN (Content Delivery Network) integrasjon med WP som synkroniserer i stedet for å kreve en annen prosess.

  14. 22
  15. 23

    Vet du om dette også fungerer med “Eksterne bøtter”? Jeg vil sette opp dette for en blogg til en venn av meg og la ham bruke en bøtte i AWS-kontoen min (jeg opprettet allerede en brukerkonto for ham og ga ham tilgang til en av skuffene mine ved hjelp av Amazon IAM-verktøy).

  16. 24
  17. 25
    • 26

      Celia, gå til AWS-hjemmet http://aws.amazon.com/ og under rullegardinmenyen "Min konto / konsoll" velger du "Sikkerhetsinformasjon." Logg på hvis du trenger det. Derfra blar du ned til Access Credentials, og du vil se Access Key ID-ene dine oppført. Kopier en av dem for nøkkel-ID-en for dette pluginet, og klikk deretter på "Vis" -linken for å se den lengre hemmelige tilgangsnøkkelen. Kopier det og lim det også inn i plugin-innstillingene. Du burde være klar etter det!

  18. 27
  19. 28

Hva tror du?

Dette nettstedet bruker Akismet for å redusere spam. Lær hvordan kommentaren din behandles.