OBS: 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.
Med mindre du er på 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:
- Meld deg på Amazon Web Services.
- Last inn Firefox-tillegget for S3. Dette gir deg et flott grensesnitt for administrering av innhold i S3.
- legge en bøtte, i dette tilfellet la jeg til www.martech.zone.
- Legg til et CNAME til domeneregistratoren din for å peke et underdomener fra nettstedet ditt til Amazon S3 for virtuell hosting.
- Last ned og installer WordPress-plugin for Amazon S3.
- Sett AWS Access Key ID og Secret Key, og klikk oppdater.
- Velg underdomenet / bøtta du opprettet ovenfor for Bruk denne bøtta innstilling.
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.
- Jeg opprettet mapper for annonser, temaerog Opplastinger i bøtta mi på S3.
- Jeg sikkerhetskopierte alt mitt nåværende innhold (bilde- og mediefiler) til gjeldende mapper.
- Jeg endret CSS-filen min i temaet mitt for å hente alle bildene fra www.martech.zone/themes.
- Jeg gjorde en MySQL søk og erstatt og oppdatert hver referanse til medieinnhold som skal vises fra S3-underdomenet.
- 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 all data 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 involvert - kanskje noen få dollar i måneden er hva det vil koste. 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 inn hjemmesiden om ca. 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!
Hei,
Jeg har en Amazon S3-konto, men etter å ha prøvd å finne ut av ting, forlot jeg den fordi den er for vanskelig. Gjør firefox-tillegget for S3 det mye enklere?
Hei Ramin,
Firefox-tillegget var virkelig en viktig del av puslespillet. Du må absolutt ha en bøtte på plass før plugin-en fungerer – så det gjør det enkelt.
Doug
Jeg bør legge til, du må peke din CNAME til den nye ditt_unique_cloudfront_distribution_name.cloudfront.net i stedet for til ditt_unike_underdomene.s3.amazonaws.com. Men etter det behandler du den akkurat som en vanlig S3-bøtte.
Det koster mer når du bruker CloudFront-alternativet med høyere hastighet/lav ventetid. Hvis du bestemmer deg for at du heller vil bytte tilbake til standard S3-versjonen, er det bare å bytte CNAME for å peke tilbake til s3.amazonaws.com i stedet.
For et år siden skrev jeghttp://www.carltonbale.com/tag/amazon-s3/"a noen blogginnlegg på Amaon S3 for alle som er interessert.
Hvis du er ute etter enda mer av en hastighetsøkning, gjør Amazon S3 Bucket om til en Amazon CloudFront-bøtte, som skaper et ekte globalt multi-server, innholdsdistribusjonsnettverk med lav latens. Her er en link med alle detaljer: http://aws.amazon.com/cloudfront/faqs/
Dessuten kan wp-supercache-pluginen gi enorme hastighetsøkninger på nettsteder med høy trafikk, da det reduserer CPU-belastningen og databaseanrop betraktelig.
Veldig kult, Carlton! Så det er veldig mye et distribuert nettverk som f.eks Akamai. Jeg var ikke klar over at de hadde det tilgjengelig! Jeg kan dra nytte av det etter å 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 cachede innhold som jeg faktisk ønsket å laste i sanntid.
Douglas,
Fra beskrivelsen deres høres det ut som at Amazon gjør noe helt annet, sier de:
"Amazon CloudFront bruker 14 edge-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 drar i utgangspunktet fordel av internett-utvekslinger for å utnytte deres nærhet til sluttbrukeren, der CDN-er som Akamai har servere mye nærmere sluttbrukeren vanligvis innenfor Internett-leverandørens nettverk.
Amazons måte å gjøre det på er mye billigere og mer effektiv Akamai.
Rogerio – http://www.itjuju.com/
Jeg vil ikke si at det er vanskelig å "få bedriftsytelse med et CMS som WordPress."
Alt handler om hvordan du setter opp infrastrukturen eller måten du er vert for CMS.
Måten selve CMS er blitt kodet på kan også spille en stor rolle i ytelsen, som Carlton påpekte med bruk av wp-supercache-plugin.
Det hadde vært bedre om funksjonaliteten til wp-supercache-pluginen var innebygd i wordpress fra starten av – men det ville kreve om å skrive grensesnittet. Som er hva lightpress.org gjorde.
Avlasting av statisk innhold til noe sånt som S3 er en god måte å avlaste behandling og levering fra hovedserveren. Det er en enkel og praktisk måte å benytte seg av Amazons infrastruktur for å gjøre tunge løft, men når du når en kretin-terskel, vil Amazon begynne å bli dyrt og det vil være billigere å gjøre det hjemme og gå med et CDN.
Rogerio – http://www.itjuju.com/
ps
Jeg har tenkt litt på den situasjonen, hvis bare 100 personer kom sammen og bidro hver måned med prisen på en anstendig server som de vanligvis ville betale for, kunne de bygge/sette sammen hostinginfrastruktur som kunne håndtere nesten hva som helst.
$0.12 for de første par dagene med S3-tjenester. Vil du gå tilbake til emnet om noen måneder og vise litt statistikk over trafikk kontra kostnader? Det ville vært interessant å se hvordan kostnadene fordeler seg på unike besøkende og mot annonsekostnader eller andre input.
Absolutt! Vil dele månedlige og årlige data så snart regningene begynner å komme inn!
Det har gått et par år nå... noen oppdateringer?
Ja – la du merke til åpningssetningen min? Amazons S3-tjeneste var litt treg, så vi flyttet til MaxCDN som vår CDN og elsker det!
Beklager; som bare ikke sank inn for meg. Takk.
Hvis du er Windows kan du bruke S3 Browser – http://s3browser.com for å laste opp filer, som bilder, skript osv. til Amazon S3 . Må ha verktøy.
Og takk for nyttig innlegg!
Amazon S3 er en utrolig godt verdsatt tjeneste. Jeg er akkurat 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 transparent skal laste opp filen direkte til S3 via POST, og du har et flerdelt skjema som inneholder tekst beregnet for din lokale database, sitter du fast. Du må enten dele den i to former, eller prøve å bruke ajax for å laste opp filen først, og ved suksess sende inn dataene lokalt.
Hvis noen har en bedre løsning, gi meg gjerne beskjed :o)
Ikke desto mindre garanterer kostnadsbesparelsene for å være vert for store høytrafikkfiler utviklingen av et slikt system.
Grant
Undertrykkelseslisteadministrasjonssystemer
Hei,
Flott skriving. Jeg har gått gjennom som du beskriver, men i administrasjonspanelet mitt der jeg laster opp bilder, ser jeg ingen S3-knapp. Jeg har lagt merke til at bildene mine, når de er lastet opp normalt ender opp på Amazon, betyr dette at jeg nå kan kopiere alle mine eksisterende bilder over og slette de på serveren?
Og må jeg endre hvor bildene mine kommer fra, eller gjør plugin-en dette?
Hei Scott,
Du bør se et lite databasesøkende ikon til høyre for ditt typiske ikon. Det er ikonet for å dukke opp Amazon-vinduet. Jeg flyttet alt av wp-innhold/opplastinger til Amazon og sørget for at jeg hadde samme vei ... den eneste forskjellen var underdomenet. De var kl http://www... og nå er de på images.marketingtechblog.com. Etter at jeg kopierte alle bildene over til Amazon, brukte jeg PHPMyAdmin og gjorde et søk og erstattet for src=”https://martech.zone og erstattet det 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
Hei Douglas, takk for det, jeg har oppdatert DB slik at alle bildene peker på bilder., men jeg ser at noen av tomlene (når de blir sett på via sideinfo) viser bildet fortsatt på www.
Her er siden (www.gamefreaks.co.nz) – en, som også hadde et stort minneproblem for forsiden, startet først når vi byttet hosting, derfor ser jeg nå på å avlaste noe av vertspresset til S3. 😎
vet du om det er mulig å bare laste opp til S3 uten at det også lagrer en kopi på den lokale serveren?
tnx
Hei Scott, S3-pluginen gir sin egen bane direkte til Amazon, så filen lagres IKKE lokalt.
Hei Joe,
Flott innlegg!
Har denne wordpress-plugin "den du nevnte"
http://tantannoodles.com/toolkit/wordpress-s3/
Jobber du med den nyeste versjonen av wordpress?
Ville vært veldig interessert i å vite om den er kompatibel, for jeg tror ikke den har blitt oppdatert på en stund. Setter pris på hjelpen
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.
Flott innlegg! Jeg er litt ny på dette, og var ikke klar over at du kunne laste ned media. Men det gir mening. Takk for at du delte!
Vet du om dette fungerer med "Eksterne bøtter" også? 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 har allerede opprettet en brukerkonto for ham og ga ham tilgang til en av bøttene mine ved å bruke Amazon IAM-verktøyene).
Flott artikkel! Takk for innlegget. Hjelpte meg til å sette opp og kjøre.
Jeg kan ikke få Amazons hemmelige nøkkel kan du hjelpe meg
Celia, gå til AWS-hjemmet http://aws.amazon.com/ og under «Min konto/konsoll»-rullegardinmenyen, velg «Sikkerhetslegitimasjon». Logg på hvis du trenger det. Derfra blar du ned til tilgangslegitimasjon, og du vil se tilgangsnøkkel-ID-ene dine oppført. Kopier en av disse for nøkkel-ID-en for denne plugin-en, og klikk deretter på "Vis"-koblingen for å se den lengre hemmelige tilgangsnøkkelen. Kopier det og lim det inn i plugin-innstillingene også. Du bør være klar etter det!
Kan du fortelle hvordan jeg får Amazons hemmelige nøkkel for den omlastede plugin
Takk for fremgangsmåten og informasjonen! Det høres ut som en god oppbevaringsløsning. Hvor mye koster det i gjennomsnitt per måned? Takk!